Bonjour à tous,
Avec ce titre peu explicite, je vais essaye de vous décrire mon problème.
A partir de la librairie prototype, je créé une classe nommée "hypermap". Celle-ci contient quelques méthodes :
Avec la méthode yqlgeo.get() (yqlgeo) je souhaite récupérer la longitude et la latitude du nom de la ville passée en argument pour ensuite les utiliser dans ma méthode addData.
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
24
25
26
27
28
29
30
31
32 var hypermap = Class.create({ initialize: function() { ... }, addData: function(point){ var oPoint = null; for(var i=0;i<point.length;i++){ if (point[i].nodeName=="LONLAT"){ coords = point[i].innerHTML.split(";"); oPoint = new OpenLayers.Geometry.Point(parseFloat(coords[0]),parseFloat(coords[1])); }else if (point[i].nodeName=="LOCALISATION"){ //oPoint = new OpenLayers.Geometry.Point(587036,6245152); place = point[i].innerHTML; // ICI Recuperation valeur yqlgeo.get(place,function(o){ lon = o.place.centroid.longitude; lat = o.place.centroid.latitude; }); oPoint = new OpenLayers.Geometry.Point(lon,lat); } } var feat = new OpenLayers.Feature.Vector(oPoint, null); return feat }, });
Mais comme celle-ci est elle même une fonction du coup la portée des variables reste interne à la fonction. Et oPoint = new OpenLayers.Geometry.Point(lon,lat) me retourne une erreur
Je ne sais pas si j'ai bien réussi à expliquer mon problème. N'hésitez pas à me demander plus de détails si cela vous semble mal exprimé.
Merci
Arnaud
Partager