我正在创建一个在地图上显示多个叠加层的应用,您可以启用或禁用每个“图层”。我正在使用Apple的KMLParser类在WWDC 2010 session 127中进行演示。
到目前为止,我一直在展示道路。当我第一次尝试这样做时,我直接导出谷歌地球,它不喜欢它(Apple的解析器喜欢非常特定格式的KML)。所以我所做的就是将谷歌地球代码中的坐标复制到KMLViewer项目中包含的苹果中(保持所有周围的标签相同)。
我的问题是任何知道的人 - 你是如何用多边形做的?
以下是我的多边形的Google地球代码:
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
<!-- My Coords here -->
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
KMLParser不会显示任何内容。
仅供参考,以下是Google地球路径与苹果支持路径之间的差异:
GOOGLE EARTH:
<Placemark>
<name>A path</name>
<styleUrl>#msn_ylw-pushpin</styleUrl>
<LineString>
<tessellate>1</tessellate>
<coordinates>
<!-- My Coords Here -->
</coordinates>
</LineString>
</Placemark>
APPLE支持:
<Placemark>
<name>A path</name>
<GeometryCollection>
<LineString>
<coordinates> <!-- My Coords Here --> </coordinates>
</LineString>
</GeometryCollection>
<styleUrl>#roadStyle</styleUrl>
</Placemark>
如果有人能告诉我如何让KMLViewer使用多边形,这将是非常棒的!
提前致谢
答案 0 :(得分:2)
经过几个小时的实验和搜索谷歌文档,我已经弄清楚了:
仅供参考,如何完成:
<Placemark>
<name>MyPoly</name>
<styleUrl>#mypolystyle</styleUrl>
<Polygon>
<outerBoundaryIs>
<linearRing>
<coordinates>
<!-- My Coords Here -->
</coordinates>
</linearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>