我试图在openlayers中使用方形多边形来获取边界框。我需要从框中获取北,南,西和东的价值。现在我正在使用:
var topleft = vectors.features[0].geometry.getVertices()[0];
获取左上顶点。但它会返回如下值:
POINT(-13393350.718762 4024321.5982824)
如何从此返回点获取lat和lon值?
答案 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和Longvar 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