Я создаю приложение, которое показывает несколько оверлеев на карте, и вы можете включить или отключить каждый «слой». Я использую класс Apple KMLParser, как показано в сеансе WWDC 2010 127.
До сих пор я отображал пути. Когда я впервые попытался сделать это, я экспортировал прямую форму из Google Earth, и она мне не понравилась (парсер Apple любит KML в очень специфическом формате). Поэтому я скопировал координаты из кода Google Планета Земля в код Apple, включенный в проект KMLViewer (с сохранением всех окружающих тегов).
Мой вопрос к любому, кто знает - как вы делаете это с полигонами?
Вот код Google Earth для моего многоугольника:
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
<!-- My Coords here -->
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
KMLParser не будет ничего отображать для этого.
Просто для справки, вот различия между путём Google Планета Земля и путём, поддерживаемым Apple:
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 работать с полигонами, это было бы здорово!
Заранее спасибо