KMLViewer не будет отображать треки из-за карты стилей - PullRequest
1 голос
/ 17 марта 2012

Я использую код Apple KMLViewer для отображения треков в моем MKMapView.Я создаю файлы KML, сохраняя место из Google Планета Земля в виде файла KML, но треки не будут отображаться на карте, если я не изменю карту стилей в файле KML.

В начале KMLфайл - это карта стилей:

<Style id="lineStyle0000">
    <LineStyle>
        <color>ff0600ff</color>
        <width>4</width>
    </LineStyle>
</Style>
<StyleMap id="lineStyle11000">
    <Pair>
        <key>normal</key>
        <styleUrl>#lineStyle0000</styleUrl>
    </Pair>
    <Pair>
        <key>highlight</key>
        <styleUrl>#lineStyle01</styleUrl>
    </Pair>
</StyleMap>
<Style id="lineStyle01">
    <LineStyle>
        <color>ff0600ff</color>
        <width>4</width>
    </LineStyle>
</Style>

И трек в файле KML начинается с

<Placemark>
    <name>Track01</name>
    <visibility>0</visibility>
    <styleUrl>#lineStyle11000</styleUrl>
    <LineString>
        <tessellate>1</tessellate>
        <coordinates>...

Когда я запускаю приложение, трек не отображается вообще.Если я изменю тэг styleUrl в начале трека с # lineStyle11000 на # lineStyle0000, это будет хорошо.Это достаточно легко сделать, когда у меня есть один или два трека для отображения, но это раздражает.Когда у меня есть десять или пятнадцать треков для отображения в одном файле KML, он действительно съедает некоторое время.

Есть ли способ избежать этой проблемы?Я храню все свои треки в Google Планета Земля, чтобы легко ими управлять, но мне не нужно вручную изменять текст файла каждый раз, когда мне нужно поместить его в приложение.

Спасибо

Ответы [ 2 ]

1 голос
/ 01 октября 2012

Решение, которое я использовал, на самом деле не решает проблему, но справляется с этим хорошо.Google Earth экспортирует файл kml с картами стилей, но если вы отправляете файл kml через GPSVisualizer с выходным форматом Google Планета Земля KML, он просто преобразует весь файл в более простой формат, который Apple KMLViewer может прочитать, сохраняя при этом все цвета и размеры линий.

Вид полицейского, но он работает.

0 голосов
/ 17 марта 2012

Вы можете автоматически редактировать файл, чтобы удалить все строки styleUrls

grep -v styleUrl old.kml > new.kml

или запустите поиск и замену в вашем приложении.

...