API Google Maps : les marqueurs ne s'affichent pas tous

API Google Maps : les marqueurs ne s'affichent pas tous - HTML/CSS - Programmation

Marsh Posté le 10-02-2010 à 19:42:05    

Salut!
 
Étant grand utilisateur de Google Maps pour mon site, j'ai décidé de réaliser une carte globale qui rassemble toutes celles que j'utilise.
En faisant des recherches, je me suis rendu compte qu'avec les cartes réalisées avec Google Maps (qu'on insère ensuite avec une iframe) il y a une limite d'affichage des marqueurs, au bout d'un certain nombre ils passent sur une nouvelle page, on ne peut donc pas afficher une carte avec 500 marqueurs par exemple.
 
En refaisant donc des recherches, j'ai lu que l'API Google Maps permettait de se libérer de ce problème. Je m'y suis donc mis, j'ai réussi à configurer ma carte. Comme j'ai beaucoup de cartes, pour pouvoir afficher tout sur une seule je suis obligé d'enregistrer chaque kml, de l'afficher dans Google Earth, et d'exporter un fichier kml où se trouvent toutes les cartes.
 
Je me suis notamment servi de ce tutoriel pour faire ça: http://www.touraineverte.com/aide- [...] GeoXml.htm
 
Le truc, c'est que j'ai toujours ce problème d'affichage, certains marqueurs ne s'affichent plus sur ma carte.... est-ce parce que je fais appel aux kml des cartes créées via Google Maps? Comment pourrais-je continuer à réaliser mes cartes via Google Maps (avec des infos quand on clique sur les marqueurs) et intégrer ça à l'API?
J'avoue que je suis un peu perdu... voici mon code:
 

Code :
  1. var initialisation = function ()
  2.   {
  3.     google.load("maps", "2", {"other_params":"sensor=false"});
  4.     google.setOnLoadCallback(initMap);
  5.   }; // initialisation
  6.  
  7.   var fichierXML;
  8.   var url= "ici je mets le fichier KML avec toutes mes cartes, il est stocké sur mon serveur";
  9.  
  10.   var initMap = function ()
  11.   {
  12.     if (google.maps.BrowserIsCompatible())
  13. {
  14.   fichierXML = new google.maps.GeoXml(url);
  15.       var map = new google.maps.Map2(document.getElementById('map')); // Création de l'instance d'objet google.maps.Map2
  16.   map.addControl(new GLargeMapControl3D());
  17.   map.addControl(new GMapTypeControl());
  18.   map.addControl(new GScaleControl());
  19.   map.enableScrollWheelZoom();
  20.           map.setCenter(new GLatLng(46.75984,1.738281), 6); // Coordonnées et zoom   
  21.           map.setMapType(G_SATELLITE_MAP);  // Vue satellite par défaut
  22.   map.addOverlay(fichierXML);
  23. }
  24. else
  25. {
  26.   alert('Désolé, mais votre navigateur n\'est pas compatible avec Google Maps');
  27.     }
  28.   }; // initMap


 
Merci d'avance  :)

Reply

Marsh Posté le 10-02-2010 à 19:42:05   

Reply

Marsh Posté le 10-02-2010 à 22:19:06    

Bon alors en testant ce soir, je crois avoir trouvé une solution.
 
Dans la façon que j'employais jusqu'ici, le fichier kml était une juxtaposition de plusieurs cartes, chaque carte ayant un repère, une surface dessinée et des informations dans les info-bulles.
 
En réalisant une seule carte, ça marche.
 
Le problème, c'est qu'il va donc falloir que je crée à la main une seule carte via l'onglet "Mes cartes" de Google Maps, autant dire que je vais m'amuser :(
 
Vous me direz, je n'aurais qu'à copier/coller le code de chaque carte dans un fichier global? Et bien j'ai essayé mais ça ne marche pas, la c'est encore pire, ça n'affiche qu'un seul repère!
 
EDIT: ah, je comprends pourquoi le copier/coller ne marche pas... chaque carte ayant des ID identiques... bon alors c'est parti pour refaire tous mes repères sur une seule carte  :pt1cable:  :pt1cable:


Message édité par Indeed le 10-02-2010 à 22:27:08
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed