iOS 地图大头针固定在中间,且移动后及时更新位置信息

最近项目用到高德地图且要实现移动地图,大头针始终保持在中间的效果,翻了翻Google和百度也没有一个完整的实现教程,那么我就写一个吧。要实现这个功能比较简单,首先我们理一下思路:地图动,大头针不变。那么大头针我们就可以明白应该和地图不是在同一个view层了。

那么我们就在地图上面创建一个View,始终保持在屏幕的中间


图1

那么关键的部分来了,我们要把屏幕坐标转换成地图坐标就能实现实时打点了。


图2

因为view和touch手势不一样,touch手势可以获取到一点的坐标,我们使用view的话就要用中心点,另外附上手势坐标转换,如图3


图3

好了,既然拿到了地图坐标打点就好办了,那么接下来我们要实现移动地图实现更新的效果,我用的是高德地图,高德地图提供了移动结束后的API:- (void)mapView:(MAMapView*)mapView mapDidMoveByUser:(BOOL)wasUserAction;我们就在这个接口里实现我们的更新地理位置和打点操作就可以了,附上更新代码如图4


图4

在这里注意一点, 要判断wasUserAction,是否用户的操作,如果不加判断的话就会一直在更新,实现更新打点前记得把上一个点清除。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容