1 votos

Openlayers 2 - zoom a múltiples coordenadas

Tengo varios iconos de activos en un mapa

Quiero poder hacer zoom para mostrar todos los iconos del mapa Tengo la Lat y Long de cada activo

Actualmente, lo tengo funcionando con 1 activo ya que puedo usar este código para hacer zoom al activo map.setCenter(new OpenLayers.LonLat(obj.d[k].vLongitude, obj.d[k].vLatitude).transform(WGS84, map.getProjectionObject()), map.getZoom());

¿Es necesario pasar una matriz de coordenadas?

3voto

Gazi Alankus Puntos 136

Crear lista de coordenadas

var obj={};
obj.d=[];
obj.d[0] ={};
obj.d[0].vLongitude = 45; 
obj.d[0].vLatitude= 45; 
obj.d[1] ={};
obj.d[1].vLongitude = 55; 
obj.d[1].vLatitude= 55;

crear una capa de marcadores

var markers = new OpenLayers.Layer.Markers( "Markers" );
            map.addLayer(markers);

y añadir todos los marcadores en el mapa

for(var i=0;i<obj.d.length;i++){ 
 var size = new OpenLayers.Size(25,25);
            var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
            var icon = new OpenLayers.Icon('http://www.openlayers.org/api/img/zoom-world-mini.png',size,offset);
            markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(obj.d[i].vLongitude,obj.d[i].vLatitude),icon));
}

y

zoom a la extensión de los datos

map.zoomToExtent(markers.getDataExtent());

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X