OpenLayers:为什么我的矢量特征标记错位了?

apn*_*ing 2 openlayers

我首先使用Markers进行编码(成功)然后意识到它不再被推荐(特别是对于聚类).

阅读了Openlayers doc和这个问题中给出例子,我创建了我的向量,添加了一些风格等...

但是,它们都放在LngLat(0,0)周围,而不是它们的正确坐标.

你可以在下面看到他们的几何属性是好的.我不知道我在那里失踪了什么.

撷取画面

igo*_*rti 5

问题是,虽然Google地图投影是EPSG:900913,但矢量要素的坐标是EPSG:4326.

因此,您必须在Google地图投影中指定坐标,或使用OpenLayers转换客户端的坐标.这是你如何做到的:

feature.geometry.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"))
Run Code Online (Sandbox Code Playgroud)

转换要素后,您可以将图层添加到地图中,并且应该正确显示要素.