马蹄形多边形

时间:2011-11-19 19:49:51

标签: google-maps google-maps-api-3 gis kml polygon

我有以下kml多边形:

<Polygon><outerBoundaryIs><LinearRing><coordinates>20.002,80.002 20,80.002 20,80.004 20.006,80.004 20.006,80.001 20.002,80.001 20.002,80.002 20.004,80.002 20.004,80.003 20.002,80.003 </coordinates></LinearRing></outerBoundaryIs></Polygon>

如果我在融合表的单元格中查看此多边形,请在Google Fusion Maps的表视图中看起来像这样:

enter image description here

但是,在实际的谷歌地图中,​​在地图视图中,它看起来像这样:

enter image description here

重复点已经相当恼人地丢弃了。我想要上面第一张图中显示的内容,但是如何在Google地图中更改多边形以获得相同的形状?

我也试过内线,但也没有运气:

enter image description here

<Polygon><outerBoundaryIs><LinearRing><coordinates>20.002,80.002 20,80.002 20,80.004 20.006,80.004 20.006,80.001 20.002,80.001 20.002,80.002 20.004,80.002 20.004,80.003 20.002,80.003 </coordinates></LinearRing></outerBoundaryIs></Polygon>

谢谢,

百里

2 个答案:

答案 0 :(得分:1)

自相交多边形需要相当多的额外功率才能正确绘制,因此在所有2d渲染API /实现中并未广泛支持它们。

我建议您通过将多边形分成两部分来解决问题。

答案 1 :(得分:0)

好的,我想我有答案。我可以在多边形中的两个重复点中的一个上添加一个微小的偏移(抖动)。但是我必须在正确的方向上添加抖动,否则多边形将变为无效并且谷歌不再绘制它。看一下多边形循环中的前几个点,我应该能够确定我需要在哪个方向上应用抖动。

<Polygon><outerBoundaryIs><LinearRing><coordinates>20.002,80.002 20,80.002 20,80.004 20.006,80.004 20.006,80.001 20.002,80.001 20.002000001,80.002 20.004,80.002 20.004,80.003 20.002,80.003 </coordinates></LinearRing></outerBoundaryIs></Polygon>