Obtenga LonLat de la función agregada en OpenLayers
Frecuentes
Visto 4,546 veces
3
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?
1 Respuestas
6
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
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas gis openlayers or haz tu propia pregunta.
que también funciona con objetos como
feature.geometry.getBounds().getCenterLonLat()
- tony gil