我首先使用Markers进行编码(成功)然后意识到它不再被推荐(特别是对于群集)。
在Openlayers doc和examples given中阅读了this question后,我创建了我的向量,添加了一些风格等...
但是,它们都放在LngLat(0,0)周围,而不是它们的正确坐标。
你可以在下面看到他们的几何属性是好的。我不知道我在那里失踪了什么。
答案 0 :(得分:5)
问题在于,虽然Google地图投影是EPSG:900913,但矢量要素的坐标位于EPSG:4326。
因此,您必须在Google地图投影中指定坐标,或使用OpenLayers转换客户端的坐标。这是你如何做到的:
feature.geometry.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"))
转换功能后,您可以将图层添加到地图中,它应该正确显示功能。
答案 1 :(得分:1)
您使用什么坐标投影?我假设您的图层名称使用的是Google地图基础图层。
Google地图使用球形墨卡托投影,OpenLayers默认使用EPSG:4326。 OpenLayers具有API,可让您在各种投影之间转换坐标,以便所有图层可以很好地协同工作。
有关您的图层的更多详细信息,我可以提供一些代码来演示这一点。