在我的GIS应用程序中,我想给我的图钉/位置提供自定义图标。实际上我想利用其链接在kml中的图标(我从该kml文件中获取地标)。如何“阅读”来自kml文件的这些信息?我正在使用Apple的KMLViewer。 kml的一个例子:
<Placemark>
<name>ATM</name>
<description>.........Info..........</description><Style>
<IconStyle>
<Icon>
<href>http://www.*****.com/images/categories/atm.png</href>
</Icon>
</IconStyle>
</Style><Point><coordinates>19.8167932033539,41.3254571132609</coordinates></Point></Placemark>
答案 0 :(得分:1)
KMLViewer使用NSXMLParser
来解析KML文件,因为它是有效的格式化XML格式。首先研究好NSXMLParser
以及如何实现其委托以从XML中提取数据。 KMLViewer也在KMLParser.m中执行此操作,但未实现IconStyle
元素的保存。然而,扩展
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
KMLParser的方法并为IconStyle
添加新的处理程序。您必须扩展KMLStyle
类,添加对地标图标的支持。然后,当您获得图标的网址时,应该很容易将其提供给mapkit而不是默认图标。祝你好运!