OpenLayers从多边形顶点获取Lat,Lon

时间:2011-12-08 16:30:35

标签: openlayers polygon latitude-longitude vertices

我试图在openlayers中使用方形多边形来获取边界框。我需要从框中获取北,南,西和东的价值。现在我正在使用:

var topleft = vectors.features[0].geometry.getVertices()[0];

获取左上顶点。但它会返回如下值:

POINT(-13393350.718762 4024321.5982824)

如何从此返回点获取lat和lon值?

1 个答案:

答案 0 :(得分:6)

你有一个选择是使用getVertices()[i]来生成一个点

var myPoint = new OpenLayers.Geometry.Point(vectors.features[0].geometry.getVertices()[0].x,
                              vectors.features[0].geometry.getVertices()[0].y )

然后将该点转换为使用类似

的Lat和Long
var myLatLonPoint = myPoint.transform( map.getProjectionObject(),
                   new OpenLayers.Projection("EPSG:4326"));

然后你应该能够从那些点抓住纬度和长度。

另一个可能更可取的选择是变换边界然后拉出各个顶点。

var myLatLonSquare = vectors.features[0].geometry.transform( map.getProjectionObject(),
                   new OpenLayers.Projection("EPSG:4326"));

然后用:

拉出lat的顶点
myLatLonSquare.getVertices()[0].x  myLatLonSquare.getVertices()[0].y