百度地图如何监听自定义绘制的直线图层的点击事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度地图如何监听自定义绘制的直线图层的点击事件相关的知识,希望对你有一定的参考价值。
如题,我在地图上面用Graphic画了很多条的直线,如何监听每一条直线的点击事件?我想过地图的onlongclick事件,然后判断长按的点是否在这条直线上,如果是则触发,不是则不触发。不知是否可行或者有别的更好办法。
我用的sdk是1.3.5的,在draw()方法里画的;所画的直线是由经纬度组成的,这些经纬度我都保存在一个list里,在ontap()方法里点击获取当前点击的经纬度,然后去遍历保存经纬度的list,由于直线(准确来说是线段)是有两点连成的线段,所以判断这个点十分在这条直线上有两个依据,一、点是否这条直线方程上,二、点到直线的距离小于一定的阀值也可认为在在这条直线上,且这点的横纵坐标必须在两点之间。 参考技术A 谢谢,我多少理解你说的判断点是否在直线上的思路。。可惜我用的矢量版地图,2.1.2的SDK。线段是用SDK自带的自定义绘制图行类GraphicOverlay画的。。画线段的两点也保存在了list中。可是线段有好多,list就有好多。点击获取当前经纬度后,不知道跟哪一段的经纬度比较啊~ 就是无法确定点击的是哪一个线段让我比较纠结。 参考技术B 请问你是怎么处理的?? 我重写了GraphicsOverlay,设置了mapview的长按监听,获取到按的那个点,可是此时无法获得这条直线的对象。。。怎么破? 另外如何判断这个点是否在这条直线上? 参考技术C 我目前也是这么处理的如何在百度地图上删除自定义的点线面
参考技术A 给地图增加一个事件监听,addEventListener,当右击地图时,出现右键菜单,可删除标注。给标注增加事件监听,右键点击标注,即可删除。本回答被提问者采纳
以上是关于百度地图如何监听自定义绘制的直线图层的点击事件的主要内容,如果未能解决你的问题,请参考以下文章