IOS地图添加标注二:实现地图委托

       前两天我们学习了IOS地图添加标注中的触发添加动作方法,那么今天易速网络接着为大家介绍第二个步骤:实现地图委托方法mapView:viewForAnnotation

       MKMapViewDelegate委托协议方法mapView:viewForAnnotation:的代码如下:

       在上述代码中,第①行代码所示的委托方法mapView:viewForAnnotation:在地图视图添加标注时回调。给地图视图添加标注的方法是self.mapView.addAnnotation(annotation),其中annotation是地图标注对象。

       第②~④行代码用于获得地图标注对象MKPinAnnotationView,其中采用了可重用MKPinAnnotationView对象设计。这里使用可重用对象,是为了节约内存。一般情况下,尽可能使用已有对象,减少实例化对象。首先,在第②行代码中,我们使用dequeueReusableAnnotationViewWithIdentifier:方法通过一个可重用标识符PIN_ANNOTATION获得MKPinAnnotationView对象,如果这个对象不存在(第③行代码判断是否存在),则需要使用第④行代码的initWithAnnotation:reuseIdentifier:构造器创建,其中reuseIdentifier参数是可重用标识符。

       第⑤行代码设置大头针标注视图的颜色为紫色。此外,该颜色还可以设置成红色(Swift版MKPinAnnotationColor.Red,Objective-C版使用MKPinAnnotationColorRed)和绿色(Swift版使用MKPinAnnotationColor.Green,Objective-C版使用MKPinAnnotationColorGreen)。

       第⑥行代码说明设置标注视图时,是否以动画效果的形式显示在地图上。第⑦行代码用于在标注点上显示一些附加信息。如果canShowCallout为true(或YES),则点击“大头针”头时,会出现一个气泡(如图1),而气泡中的文字信息封装在MyAnnotation对象中,其中第一行文字(大一点的文字)保存在title属性中,而第二行文字(小一点的文字)保存在subtitle属性中。

       在委托方法的最后,返回annotationView标注点视图对象。

       最后,我们看看自定义标注类MyAnnotation。MyAnnotation的定义如下:

       地图上的标注点类必须实现MKAnnotation协议。MKAnnotation协议需要重写如下两个属性。

       1、itle:标注点上的主标题。

       2、subtitle:标注点上的副标题。

       在重写subtitle属性时,我们将它的相关信息拼接成字符串赋值给它。这里,我们可以根据自己的需要和习惯拼接在这个字符串的前后。

       关于iOS地图添加标注的所有方法就已经介绍完了,希望对大家有所帮助。如果大家对之前讲的关于触发添加动作的方法不太记得了,欢迎大家点击《IOS地图添加标注一:触发添加动作》进行复习。

提供全面的搜索引擎优化学习交流,专注网站优化和搜索引擎营销推广服务。用专业的SEO技术为企业网站提升关键词排名,让你的网站不仅满足用户体验还要适合搜索引擎优化规则。
易速网站优化公司 » IOS地图添加标注二:实现地图委托
享更多特权,立即登录下载海量资源
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡