Bonjour à tous/toutes!
Je me tourne aujourd'hui vers vous dans l'espoir de trouver une solution à mon problème concernant
l’utilisation de getDefaultViewport lors de l'affichage de fichiers KML.
J'aimerais pouvoir afficher un MARKER au centre d'un fichier KML (polygones) en utilisant la propriété
.getDefaultViewport().getCenter(). Malheureusement, lorsque j'essaye d'afficher la valeur de
kml.getDefaultViewport(), Java me répond "Undefined".
Voici mon code, qui me permet de correctement afficher plusieurs KML provenant d'un liste:
Savez vous donc pourquoi ma variable COOR reste à Undefined? Et comment faire pour lui affecter la valeur que je cherche?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 function initialisation(){ var centreCarte = new google.maps.LatLng(liste[0][2], liste[0][3]); var optionsCarte = { zoom: 7, center: centreCarte, mapTypeId: google.maps.MapTypeId.ROADMAP} var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte); var i=0,li=liste.length; while(i<li){ var kml = new google.maps.KmlLayer('http://site.fr/kml/'+liste[i][0].toString()+'.kml', {preserveViewport:true}); kml.setMap(maCarte); var coor = kml.getDefaultViewport().getCenter(); var marker = new MarkerWithLabel({ position: new google.maps.LatLng(coor), map: maCarte, ... //autre options de MarkerWithLabel }); i++;} }
Afin de faire quelques tests, j'ai ajouter un Listener sur defaultviewport_changed à la fin
de ma function pour voir ce qu'il retourne:
Il retourne bien les coordonnés que je veux:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 google.maps.event.addListener(kml, "defaultviewport_changed", function() { alert('Default viewport = ' + kml.getDefaultViewport().getCenter()); });
Comment donc récupérer ces valeurs? Désolé si ma question vous paraît bête^^. En tout cas merci d'avance pour vos conseils.
Cz
Partager