如何在MKMapView中从kml文件中获取位置标记图标



在我的GIS应用程序中,我想为我的引脚/位置提供自定义图标。事实上,我想利用链接在kml中的图标(我从该kml文件中获得占位符)。如何从kml文件"读取"这些信息?我正在使用苹果的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>

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

方法,并为CCD_ 4添加一个新的处理程序。您必须扩展KMLStyle类,添加对占位符图标的支持。然后,当你得到图标的url时,应该可以很容易地将其提供给mapkit,而不是默认的图标。祝你好运

最新更新