扩展iOS KMLViewer示例以处理KML NetworkLink元素

时间:2011-03-09 15:28:30

标签: ios mapkit kml

我正在开发一个iOS应用程序,它通过MKMapView显示KML数据。

Apple的KMLViewer示例应用让我开始了。不幸的是,我使用的KML数据在很大程度上依赖于NetworkLinkLinkhref KML元素的链接文件,KMLViewer的解析器无法处理这些。

我可能想知道如何添加这样的支持,但在我走这条路之前,我想知道是否有其他人已经做过这个,或者是否有比KMLViewer更好的起点。

我查看了Simple KML,但它似乎也不支持NetworkLink

1 个答案:

答案 0 :(得分:3)

以下是我的调查结果:

  1. 我首先扩展了KMLViewer示例,以支持我需要的其他元素。该示例并不适合这样:它没有按照SAX风格的解析器的方式进行组织,如果你想为它添加更多东西,那么简单的状态机真的需要进行大修。
  2. 接下来我尝试了Simple KML库。它很容易使用,但解析我需要解析的KML文件需要3500毫秒,这比我认为可接受的时间长至少3000毫秒。此外,Simple KML不支持我需要的所有元素和属性,因此如果我想使用它,我需要扩展它。
  3. 所以,我最后只使用了TBXML,它很容易使用,并且在不到100毫秒的时间内解析了文件。