Сохранение лонг / лат как кмл (трек) - PullRequest
0 голосов
/ 28 сентября 2010

Итак, у меня есть класс с NSMutableArray из CLLocation и именем.

Теперь я хочу сохранить их в KML, в идеале в виде дорожки (или , чтобы я мог использовать файл для отображения пройденных мест.)

Как бы я поступил об этом?

Я не ожидаю, что код, больше рекомендаций (я новичок в Objective-C и KML, поэтому мне нужно многому научиться! :))

Ответы [ 2 ]

2 голосов
/ 28 сентября 2010

Я не использовал ни одного из них, но вот несколько библиотек, которые были найдены при поиске:

http://github.com/incanus/Simple-KML/

http://developmentseed.org/blog/2010/aug/12/kml-parsing-library-released-apples-ios-platform

Редактировать: похоже, что обе эти библиотеки являются синтаксическими анализаторами, а не пишущими. Возможно, вам придется создать свой собственный писатель.

Я бы сказал, что использование любой из этих библиотек сэкономит вам много времени. Тем не менее, посмотрите, как формируется KML. Это всего лишь XML, и сделать трек действительно легко. Вот пример:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1" xmlns:trails="http://www.google.com/kml/trails/1.0">
  <Document>
    <name>RK_Running.kml</name>
    <Placemark>
      <name>Running 12/9</name>
        <Style>
          <LineStyle>
            <color>ff0000ff</color>
            <width>4</width>
          </LineStyle>
        </Style>
      <MultiGeometry>
        <LineString>
          <tessellate>1</tessellate>
          <coordinates>
138.968309,35.716577,17.0
138.967998,35.716859,17.0
138.967526,35.717252,20.0
138.967055,35.717494,20.0
          </coordinates>
        </LineString>
      </MultiGeometry>
    </Placemark>
  </Document>
</kml>

Сохраните его в формате .kml, и он откроется в Google Планета Земля

0 голосов
/ 28 сентября 2010

KML - это просто XML. Я бы посоветовал вам создать нечто похожее на то, что вы ищете, используя Google Планета Земля. Сохраните его как KML и откройте его в текстовом редакторе, чтобы получить представление о том, что нужно выводить.

Вы можете генерировать XML, используя libxml2 или KissXML

...