Openlayers zoomtoextent缩放到另一个位置

时间:2015-04-06 16:20:05

标签: google-maps openlayers

我正在尝试使用EPSG:3857的投影放大地图上的边界框。地图应放大到这里的某个地方:

然而,

https://www.google.co.il/maps/place/Netanya/@32.3047285,34.860532,12z/data=!3m1!4b1!4m2!3m1!1s0x151d400493c075d5:0x2cd995be543c3f22将以下代码放入非洲附近海域的某个地方。你能告诉我什么是错的吗?



bounds = new OpenLayers.Bounds();
bounds.extend(new OpenLayers.LonLat(34.8660822,32.3172887));
bounds.extend(new OpenLayers.LonLat(34.8570271,32.2953077));
bounds.toBBOX(); 
map.openlayers.zoomToExtent(bounds);
map.openlayers.updateSize();




1 个答案:

答案 0 :(得分:2)

你必须将你的界限从EPSG:4326(WGS84)改为EPSG:900913(EPSG:3857)

bounds = new OpenLayers.Bounds();
bounds.extend(new OpenLayers.LonLat(34.8660822,32.3172887));
bounds.extend(new OpenLayers.LonLat(34.8570271,32.2953077));
bounds.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
map.openlayers.zoomToExtent(bounds, true);