美文网首页iOS收藏
ios 通过点击自定义大头针获取屏幕坐标,转换成经纬度

ios 通过点击自定义大头针获取屏幕坐标,转换成经纬度

作者: Tomboy_Anan | 来源:发表于2017-02-22 13:13 被阅读1110次

    这几天一直忙着整百度地图, 这个项目主要是完全模仿摩拜,ofo 等一类的共享单车类, 遇到过的一些坑点, 百度一下也能搜索到, 主要想记录自己遇到的一些麻烦事, 以备以后遇到类似问题能查看自己整理的资料

    1. 首先自定义大头针, 我在 -(BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id<BMKAnnotation>)annotation 这个方法里,没有进行判断, 导致push 到另一控制器再回来时, 会出现系统的大头针和我自定义的大头针 重叠, 解决方法是在这个方法里添加判断
    简书1.png

    (2);
    遇到的第二个问题是, 打开 app 后, 需要手动滑动一下地图,才能获取到周边自行车的地点,
    解决办法是:

    简书2.png

    (3 )
    通过点击屏幕, 获取到对应地图的经纬度编码
    首先给地图添加手势

    手势.png

    然后再手势处理内部实现:


    手势处理.png

    这样就可以实时监控到用户点击屏幕的地理位置

    (4 )
    最后的问题是, 自定义大头针后, 点击大头针,需要从屏幕中心点位置,规划一跳路径到用户点击的大头针, 但是系统自带的didSelectAnnotationView 方法就不会被调用了, 然后点击大头针是没有任何反应的, 只好给大头针添加了 手势,


    大头针添加手势.png

    问题是如何获取用户点击 的哪个大头针 , 因为是共享单车, 界面上当然不止一两个大头针, 每一辆自行车都是对应的一个模型对象. 我想到的方法是, 将用户点击到的那个大头针坐标, 转换到地图,换成地理编码, 通过地理编码再来划线就简单多了

    划线.png

    至于画线的方法, 下篇有空再写上;

    相关文章

      网友评论

        本文标题:ios 通过点击自定义大头针获取屏幕坐标,转换成经纬度

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