Maps Openlayers-如何在日期线的两侧绘制多边形

Maps Openlayers-如何在日期线的两侧绘制多边形,maps,gis,openlayers,Maps,Gis,Openlayers,我需要在地图上画几个大多边形。多边形必须在日期线的所有边上复制。它们的绘制应该与谷歌地图上的相同 1) 请给出你的建议,当多边形穿过日期线时,如何绘制多边形? 我把这个问题和中的一样卖了,但是当多边形穿过日期线时,我在画多边形时遇到了麻烦。这就是为什么我在经度上加了360度-对吗 for(变量i=1;i180) 多角点[i][1]+=360; } 2) 请告知,在日期线两侧绘制多边形的正确方法是什么 请检查我的变体: var映射;//开放层地图 //[[纬度,经度],…] var polygo

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

1) 请给出你的建议,当多边形穿过日期线时,如何绘制多边形? 我把这个问题和中的一样卖了,但是当多边形穿过日期线时,我在画多边形时遇到了麻烦。这就是为什么我在经度上加了360度-对吗

for(变量i=1;i180)
多角点[i][1]+=360;
}
2) 请告知,在日期线两侧绘制多边形的正确方法是什么

请检查我的变体:

var映射;//开放层地图
//[[纬度,经度],…]
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, 10 ],[-25, 100], [-20, -175],[-10, -165],[0, -180 ],[10, 165],[50, -180],
[45, 170],[15, 100],[33, 50 ],[35, 0 ],[35, -30],[25, -70],[5, -100],[10, -100] ];
函数InitOL(){
var wgs84Projection=新OpenLayers.Projection(“EPSG:4326”);
var epsg900913=新的OpenLayers.Projection('EPSG:900913');
变量选项={
div:“openLayersMap”,
项目:WGS84项目,
显示投影:epsg900913,
阿洛弗雷:是的,
缩放:1
};
map=新的OpenLayers.map(选项);
var mapserv=new OpenLayers.Layer.MapServer(“OpenLayers Basic”,
"http://vmap0.tiles.osgeo.org/wms/vmap0",
{layers:'basic'},
{wrapDateLine:true});
var polygonsLayer=new OpenLayers.Layer.Vector(“polygonsLayer”,null,{wrapDateLine:true});
addLayers([mapserv,polygonsLayer]);
addControl(新的OpenLayers.Control.LayerSwitcher());
addControl(新的OpenLayers.Control.MousePosition());
zoomToMaxExtent();
setCenter(新的OpenLayers.LonLat(-100,0));
对于(变量i=1;i180)
多角点[i][1]+=360;
}
var olPoints=[];
对于(var j=0;j
这看起来像是OpenLayers当前绘制多边形方式的限制。 你可能需要提交一份bug报告,并希望它能被修补或自己修补。。。 当你发现这个问题时,你可以自己生成第二个多边形。

我发现了一个解决这个问题的方法。它被称为,用于计算大圈路线。不仅如此,它还将分割日期线上的行,并为您提供两个在日期线上相交的行字符串,OpenLayers可以轻松映射这些行字符串


您可能希望避免征求意见。它本质上是将你的问题开放给无休止的辩论/讨论。