百度地图api c# 监听事件click,怎么去判断点击的是空白地图而不是一个已经标注好的点

.Net技术 码拜 6年前 (2015-11-12) 781次浏览
百度地图api c#
map.addEventListener(“click”, function (e) {});
是这样的,本人想做的功能是相似周边检索,本人点击地图标注出本人的位置,然后通过js判断数据库全部商家能否位于本人所在点的一个2000范围的圆内,假如商家经纬度计算出来位于这个圆内,则将商家的坐标标注在地图上。到这一步都已经做好了。本人能标注出本人的点,也能在本人标注完毕后,显示出周围的商家。这个时候问题来了。
如下图:
百度地图api c# 监听事件click,怎么去判断点击的是空白地图而不是一个已经标注好的点
红色的点代表本人标注的位置,蓝色代表本人周围的商家。
这个时候本人想点击商家这个蓝色点的时候,显示一个infoWindow。
问题来了问题来了。
本人一点这个蓝色的点,就触发了click事件,他重新在蓝色点旁边标注了一个红色的点!
所以,不知道能否描述清楚了。
问题就在于本人点击地图的时候,能不能判断是点击的空白地图还是点击了一个已经标注好的点?
当然接下来的操作是,假如点击的是空白地图,则标注出这个点,并重新筛选周边商家;假如点击的是已经标注好的点,则显示出这个标注点的infoWindow。
求高手看一眼啊啊啊啊啊啊啊啊
解决方案:10分
通过点击的坐标不可以判断这个坐标点有什么地图内容吗?
解决方案:20分
你点击标注的点的时候,点击事件是在标注的点上,并且标注的点应该是在地图层上面,所以先触发标注点的click事件。在这个事件最后加上return false,就可以阻止地图的点击事件。
假如直接点击在地图上,触发的是地图的点击事件,可以在这个事件里面绑定你需要做的事情,例如添加标注点等等。
解决方案:10分
解决方案:30分
能不能先将已有的红色标示符存入一个相似于缓存的东西里面,第二次点击的时候先检查这个缓存里面有没有包含红色的标示符。
解决方案:30分
2个方法:
1.给你标注的图形挂上事件,点这个图形会触发它本人的点击事件
2.将生成的一系列点都放到数组中,点击事件里判断能否处于图形的范围内
(不能只判断点,应该是一个区域,否则基本没可能一点不差的点中那个”点”)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明百度地图api c# 监听事件click,怎么去判断点击的是空白地图而不是一个已经标注好的点
喜欢 (0)
[1034331897@qq.com]
分享 (0)