开放层中的中心多边形 - osm api

时间:2015-10-19 13:26:11

标签: javascript jquery openlayers openstreetmap

我尝试使用以下功能在开放图层中居中多边形 -

function centerIn(longitude,latitude){
lonlat = new OpenLayers.LonLat(longitude, latitude).transform(
    new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
    new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
);
map.setCenter(new OpenLayers.LonLat(lonlat.lon, lonlat.lat), 10);
map.zoomTo(theZoom);
}

centerIn(0.99689177607425,44.1216337491133);

我的多边形边界是 - 1.18915251826175,44.069361365345 1.12048796748053,43.941939265001 1.45900420283204,43.9394671408999

执行它时指向多边形的边缘。不是多边形的中心。可以有人建议我解决这个问题的解决方案。

1 个答案:

答案 0 :(得分:0)

根据你的问题,我觉得你需要得到多边形的边界。我已经使用了属性来获取边界。 然后放大地图。

function centerPolygon(){
 console.log('centerPolygon');
 var features_poly=vectorLayer.getFeaturesByAttribute('id',3);
 //console.log(features_poly[0].geometry.bounds);
 var bounds=features_poly[0].geometry.bounds;
 map.zoomToExtent(bounds);

}