美文网首页iOS开发那点儿事地图iOS学习
iOS 地图大头针固定在中间,且移动后及时更新位置信息

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

作者: guocongli | 来源:发表于2016-12-13 13:22 被阅读399次

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

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

    图1

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

    图2

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

    图3

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

    图4

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

    相关文章

      网友评论

      • 缪雨轩:您好,我现在已经实现让大头针固定在中心位置,可以获取当前位置并定位到当前位置,但是在地图等比例缩放的时候,当前位置总是会向屏幕上方移动,请问这是为什么?
      • 爱恨的潮汐:明天看看,最近也在做这个
      • 路过的人儿:困惑很久的问题,看了这篇文章后,豁然明了,希望李老师多写一些文章,期待学习更多,
        guocongli:@路过的人儿 大家互相学习
      • Jackmask:找了好久,终于找到了:pray:🏻🙌
      • StevenCheuk:真知灼见,刚好遇到这个问题完美解决了

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

      本文链接:https://www.haomeiwen.com/subject/jstumttx.html