Options de développement de l'API Google Maps et du fichier KML LocalHost
Google Maps JavaScript version 3 de l'API bibliothèque de documentation explique clairement:
L'API Google Maps prend en charge le fichier KML
et GeoRSS formats de données pour l'affichage
l'information géographique. Ces données
les formats sont affichées sur une carte à l'aide d'un
KmlLayer objet, dont le constructeur
prend l'URL d'un accessible au public
KML ou GeoRSS fichier.
Il y a même plusieurs Débordement de Pile questions sur la façon de charger les données locales:
Certaines réponses ont souligné les bibliothèques tierces qui peut analyser KML localement sans que le fichier devant être public:
Et si ces solutions sont bonnes si vous avez besoin de garder vos données privées, je tiens simplement à faciliter le développement. Lors de l'exécution en local j'ai bien évidemment ne peut pas analyser mon KML et donc de perdre des fonctionnalités que je suis en train de tester. J'ai posté un seul générique fichier KML sur la disposition du public le site, mais alors différents de développement de code pour afficher une chose contre quelque chose d'autre lors de l'exécution pour de vrai.
Quelles sont mes options pour le développement local, pour rendre compte de ce qui serait accessible au public généré dynamiquement les fichiers KML?
source d'informationauteur ahsteele
Vous devez vous connecter pour publier un commentaire.
Il semble que vous avez décrit les options assez bien:
Si vous souhaitez travailler avec des données locales, sans impliquer un serveur web accessible au publicvous aurez besoin d'utiliser un javascript approche pour analyser le fichier KML et la charger sur la carte. Bien que ce ne sera pas parfaitement reproduire la fonctionnalité de Google, il est probablement assez bon pour le développement initial si vous ne se soucient affichage le fichier KML fonctionnalités. Dans ce cas, je serais probablement mis en place un stub de classe, comme ceci:
Maintenant soit de mettre un interrupteur dans le code, ou de commenter/décommenter, ou utiliser un script de génération de commutateur, ou quel que soit votre processus actuel est pour la commutation entre les dev et le code de production:
Si, d'autre part, vous avez besoin de toutes les fonctionnalités de la Google
KmlLayer
ou vous voulez vous assurer que les choses fonctionnent avec la production de l'installation, ou vous ne voulez pas vous embêter à déraciner les fonctionnalités de Google, alors vous aurez besoin de télécharger à la disposition du public, de serveur, de sorte que Google ne peut faire son traitement côté serveur.À part bien évidemment les options (FTP, un script de ligne de commande pour télécharger votre nouveau fichier KML, etc.), dont la plupart vous obliger à faire quelque chose manuellement avant de vous charger votre carte, vous pourriez envisager de construire la mise à jour dans la page que vous êtes en train de charger. Selon la plateforme que vous utilisez, cela pourrait être plus facile à faire sur le back-end ou le front-end; la clé serait d'avoir un script sur votre serveur public qui permettrait à l'KML pour être mis à jour:
Ensuite, lorsque vous affichez votre page carte, mise à jour de la télécommande KML sur la base des données de
localhost
. Voici une version côté client, à l'aide de jQuery:Certes, il y a beaucoup d'aller-retours ici (page -> localhost, la page -> serveur distant, Google -> serveur distant, Google -> de la page), donc cela va être lent. Mais il vous permettra de Google code restituer correctement KML dynamique des données produites sur localhost, sans avoir à prendre un manuel séparé de l'étape à chaque fois que vous rechargez la page.