高德地图自定义annotation图标

本文介绍如何在使用高德地图SDK时,通过Swift动态设置自定义图标来标记地图上的坐标点。当从网络获取点的样式信息时,通过在标注代理方法中利用全局数组获取最新数据,实现动态更新点标记的图标。
摘要由CSDN通过智能技术生成

在写lbs相关的app时,肯定会在地图上标记一些坐标点,有时候也需要根据需求来改变标记的外观,这篇文章就是记录了我使用高德地图sdk的添加自定义样式点标记时遇到的问题以及解决方法。我使用的开发语言是swift。

我的需求是要在一个地图页面上动态标记从网络获取的点,并且动态生成点标记的样式。简单的说就是在地图上戳的点的图标是我从网络动态获取的图标
img
我看了高德开放平台的教程,无论是添加自定义样式点标记还是添加自定义AnnotationView都没有办法满足我的需求,因为这两种办法都需要提前导入图片,也就是提前把图片放入Assets文件夹里。
高德开放平台的教程:
添加自定义样式点标记
添加自定义AnnotationView
于是乎我是这样解决的:
先定义几个全局数组用于存放我所需要的从网络获取的点标记外观样式等信息,你也可以使用字典等其他数据类型,为了方便我使用普通一维数组。然后我发现:每次调用标注代理方法的时候,这些全局数组的最后一个元素就是我所需要的数据!!不信你可以在代理方法里打印一下 。友情提示:数组的最后一个元素的获取方法是 .last。
代码大概如下:

import UIKit
import Alamofire
import SwiftyJSON
import SVProgressHUD

class AnnotationViewController: UIViewController,UINavigationController
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值