Obtenga LonLat de la función agregada en OpenLayers

Bueno, cuando estoy probando este código

var map;
            function mapInit(element){
              map = new OpenLayers.Map(element);
              var osm = new OpenLayers.Layer.OSM(); 
              var vectors = new OpenLayers.Layer.Vector("Vector Layer", {renderers: renderer});  
              var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
              renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;         
              map.addLayers([osm, vectors]);
              map.zoomToMaxExtent();
              var add =  new OpenLayers.Control.DrawFeature(vectors,OpenLayers.Handler.Point, {
                  featureAdded: getInfoFeature,
                  multi: false
              });
              map.addControl(add);
              add.activate();
            } 
            function getInfoFeature(event){
                var coords = event.lonlat;
                console.log(coords);

            }

            mapInit('siteMap');

Está funcionando bien para agregar características, pero las coordenadas son nulas. ¿Y probablemente me he perdido algo? ¿Es eso también posible establecer un máximo de funciones adicionales?

preguntado el 12 de junio de 12 a las 16:06

1 Respuestas

lonlat no siempre está definido. Prueba con:

        function getInfoFeature(event){
            var coords = event.geometry.getBounds().getCenterLonLat();
            console.log(coords);

        }

Respondido el 13 de junio de 12 a las 11:06

que también funciona con objetos como feature.geometry.getBounds().getCenterLonLat() - tony gil

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.