2015-10-19 2 views
0

Я попытался с центрирующим многоугольник в открытых слоев с последующим FUNCTION-центр полигона в открытых слоях - осм апи

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

При выполнении он указывает на кромках polygon.Not центр polygon.Could кто-нибудь предложить мне какие-то решения решить это.

ответ

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); 

} 
+0

Благодарим за предложение. Было очень полезно. – Hrithik