我正在创建一个在 map 上显示多个叠加层的应用程序,您可以启用或禁用每个“图层”。我使用的是 Apple 的 KMLParser 类,在 WWDC 2010 session 127 中进行了演示。
到目前为止,我一直在显示路径。当我第一次尝试这样做时,我直接导出了 google earth 的形式,但它不喜欢它(Apple 的解析器喜欢非常特定格式的 KML)。所以我所做的是将坐标从 google earth 的代码复制到 KMLViewer 项目中包含的 apple 代码(保持所有周围的标签相同)。
我想问任何知道的人 - 你如何用多边形做到这一点?
这是我的多边形的谷歌地球代码:
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
<!-- My Coords here -->
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
KMLParser 不会为此显示任何内容。
仅供引用,以下是 google earth 路径和 apple 支持的路径之间的区别:
谷歌地球:
<Placemark>
<name>A path</name>
<styleUrl>#msn_ylw-pushpin</styleUrl>
<LineString>
<tessellate>1</tessellate>
<coordinates>
<!-- My Coords Here -->
</coordinates>
</LineString>
</Placemark>
苹果支持:
<Placemark>
<name>A path</name>
<GeometryCollection>
<LineString>
<coordinates> <!-- My Coords Here --> </coordinates>
</LineString>
</GeometryCollection>
<styleUrl>#roadStyle</styleUrl>
</Placemark>
如果有人能告诉我如何让 KMLViewer 处理多边形,那就太好了!
提前致谢
最佳答案
经过数小时的试验和搜索谷歌文档后,我发现了:
仅供引用,这里是如何完成的:
<Placemark>
<name>MyPoly</name>
<styleUrl>#mypolystyle</styleUrl>
<Polygon>
<outerBoundaryIs>
<linearRing>
<coordinates>
<!-- My Coords Here -->
</coordinates>
</linearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
关于iphone - 如何使用苹果的 KML 查看器示例代码显示多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720843/