2011-11-10 3 views
0

J'ai un fichier de type .csv statique qui répertorie plus de 4000 adresses, chacune avec un identifiant unique, et leur latitude et longitude corrélatives. Je souhaite interroger une base de données contenant des événements stockés pour chaque ID de site, puis afficher sur une carte Google uniquement les adresses dont les événements correspondent à la requête. Ce serait une chose s'il n'y avait pas la limite de requête de Google (quand elle sera mise en ligne, il y a un potentiel de centaines de milliers à des millions de requêtes par jour). La limite pour les fichiers KML est cependant suffisante (je crois que seule la taille du fichier est prise en compte, ai-je tort?) Et je convertirais simplement le fichier de type .csv en fichier .kml si ce n'était pas le fait ne veut pas que toutes les adresses 4000+ soient chargées sur la carte à chaque fois, seulement celles qui correspondent à la requête de recherche.Chargement dynamique des repères KML sur les cartes Google

Il doit y avoir un moyen de charger sélectivement certains repères à partir d'un seul fichier .kml, non? Je voudrais ne pas avoir besoin d'utiliser une approche côté serveur (ASP.Net) si possible, mais le fera si absolument nécessaire.

~~~~~

Je pense que je vais utiliser l'approche côté serveur. Je voudrais toujours utiliser kml car je courais dans la limite de la requête en essayant le JavaScript pur (bien que je puisse avoir fait quelque chose de mal alors que j'étais juste en train d'apprendre comment utiliser l'API Google Maps). Le kml se compose de lieux et de leur emplacement pertinent pour les événements que l'on pourrait avoir à acheter des billets pour. Un terme de recherche peut être «méchant New York», ou «concerts FL». La base de données renvoie les identifiants de lieu, qui correspondent aux identifiants de repères dans le fichier kml. Ce que je voudrais faire, c'est utiliser un tableau d'identifiants de lieux renvoyés par la requête de recherche, puis parcourir le fichier kml et renvoyer uniquement les identifiants de repères qui correspondent à l'identifiant du lieu dans le tableau. Je voudrais ensuite que les repères kml soient chargés dans une balise div sur la même page et que ce soit ce que Google utilise pour placer les pointeurs sur la carte. Existe-t-il un moyen d'utiliser des ancres # nommées au lieu d'URL complètes pour charger le kml dans Google Maps (var kmlVar = new google.maps.KmlLayer('#kmlDivTagOnSamePage');cela ne fonctionne pas)? Ce serait alors facile d'écrire la partie ASP côté serveur.

Répondre

0

Si vous n'utilisez que des cartes 2D, il n'est probablement pas nécessaire d'utiliser KML. Et comme vous n'avez pas besoin d'afficher tous les emplacements 4K à la fois, vous n'avez probablement pas besoin d'utiliser le rendu côté serveur de Google (vous pouvez simplement afficher les marqueurs en javascript). de ces alternatives: - Chargement de toutes les données en tant que dictionnaire JSON avec les identifiants comme clé, et quand une recherche est lancée, trouvez les correspondances et affichez simplement celles - Ne chargez rien sur le client initialement: Si ces suggestions ne semblent pas pertinentes, essayez de fournir le type exact de requête que quelqu'un pourrait demander, et le type de réponse que vous attendez. à partir de la base de données, que vous contrôliez cette base de données, etc.

Questions connexes