我需要在地图上画几个大多边形。必须在日期变更线的所有边上复制多边形。它们的绘制方式应该与谷歌地图我的示例相同。
1)请给出您的意见,当多边形跨越日期变更线时如何绘制多边形?我以与示例中相同的方式解决了这个问题,但是当多边形穿过日期变更线时,我在绘制多边形时遇到了麻烦。这就是为什么我在经度上添加了 360 度 - 这是正确的吗?
for (var i = 1; i < polygonPoints.length; i++) {
var dY = polygonPoints[i][1] - polygonPoints[i-1][1];
if(Math.abs(dY) > 180)
polygonPoints[i][1] += 360;
}
Run Code Online (Sandbox Code Playgroud)
2)请告知,在日期变更线两侧绘制多边形的正确方法是什么?
您能检查一下我的变体吗:
var map; // openlayers map
// [[latitude, longitude], ...]
var polygonPoints = [[10, -100],[30, -70],[38, -30],[40, 0],[38, 50 ],[20, 100],[50, 170],[55, 180],
[50, -170], [40, -160],[10, 170],[0, -170],[-10, -160],[-25, -170], [-30, 100 ],
[-45, 10 ],[-50, -20],[-55, 30],[-35, -160],[-40, -160],[-60, 30], [-50, -30 ],
[-40, …
Run Code Online (Sandbox Code Playgroud)