gpt4 book ai didi

javascript - OpenLayers - 获取几何投影

转载 作者:行者123 更新时间:2023-12-02 16:06:39 24 4
gpt4 key购买 nike

如何在 openlayers (2.12) 中获得点或几何图形的投影?

例如:

x = 30.453789 ,y = 35.637485 ==> EPSG:4326

x = 3667550.3453 ,y = 2205578.3453 ==> EPSG:900913

感谢任何帮助

最佳答案

在 OpenLayers 2 中,它是具有关联投影的 basemap 。如果您的基础图层是继承自 SphericalMercator 的 Google map ,则基础图层将为 EPSG:900913 又名 EPSG:3857 。如果您的 basemap 来自其他服务,则投影可能是 WGS84 又名 EPSG:4326或者它可能是其他一些投影。

稍后在代码中,您可能需要确定响应事件而获得的点的投影,以便您知道是否需要将它们投影到另一个坐标引用系。一种方法是:

WGS84 = new OpenLayers.Projection("EPSG:4326"),
...

// Register event handler
map_layers.point.events.on({
beforefeatureadded: recordCoord,
featuremodified: recordCoord,
afterfeaturemodified: recordCoord,
featureselected: recordCoord,
featureunselected: recordCoord,
vertexmodified: recordCoord
});

...
// Handler to capture map additions/modifications/etc.
function recordCoord(event) {
var layer = this,
geometry = event.feature.geometry,
map_loc = new OpenLayers.LonLat(geometry.x, geometry.y);
if (map.getProjection() !== WGS84.getCode()) {
map_loc.transform(map.getProjectionObject(), WGS84);
}
...

这样,随着 recordCoord 的进行,map_loc 现在处于 WGS84 中,无论它之前是什么。

如果您有其他问题,那么我建议在您的问题中添加一些代码以显示您想要完成的任务。

关于javascript - OpenLayers - 获取几何投影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30653947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com