小编use*_*648的帖子

Openlayers - 如何在日期变更线两侧绘制多边形

我需要在地图上画几个大多边形。必须在日期变更线的所有边上复制多边形。它们的绘制方式应该与谷歌地图我的示例相同。

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)

gis maps openlayers

5
推荐指数
1
解决办法
2644
查看次数

标签 统计

gis ×1

maps ×1

openlayers ×1