【问题标题】:Horseshoe shaped polygon马蹄形多边形
【发布时间】:2012-01-02 01:34:07
【问题描述】:

我有以下 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 的表格视图中,它看起来像这样:

但是,在实际的 google 地图中,在 Map View 中,它看起来像这样:

重复点已被相当烦人地删除。我想要上面第一张图中显示的内容,但是我应该如何更改我的多边形以在谷歌地图中获得相同的形状?

我也尝试了内部绑定,但也没有运气:

<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-maps google-maps-api-3 gis kml polygon


    【解决方案1】:

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

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

    【讨论】:

    • 我也考虑过这样做,但作为最后的手段。
    【解决方案2】:

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

    <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> 
    

    【讨论】:

      猜你喜欢
      • 2013-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 2011-12-19
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多