百度地图创建多个marker和监听事件
先说说我的问题吧。我的需求是,在地图上自动创建n个标记,每个点有对应的ID,Lon,Lat,当点击指定标记弹出对应标记的信息,监听事件是一样的,但弹出来的信息要根据对应的标记来显示。
一开始我是这样写js的:
var jsonMarkers =eval('('+'<%=strStations %>'+')'); //从后台获取一个json对象,里面是n个标记的信息for (var i = 0; i < jsonMarkers.length; i++) {var statePoint = new BMap.Point(jsonMarkers[i].Lon, jsonMarkers[i].Lat);marker = new BMap.Marker(statePoint);map.addOverlay(marker); var label = new BMap.Label(jsonMarkers[i].Name,{offset:new BMap.Size(-10,25)});marker.setLabel(label);marker.setTitle(jsonMarkers[i].ID);marker.addEventListener("click",getAttr); //监听事件}//获取指定标记的详细信息 function getAttr() {for (var i = 0; i < jsonMarkers.length; i++) {if (jsonMarkers[i].ID == marker.getTitle()) { alert(jsonMarkers[i].Name); }}}
测试的时候,不管点哪个标记,弹出来的信息都是最后一个标记的。
原来是getAttr()中的marker一直延续上面初始化各标记的最后一个marker,而不是我所想的每次点击的那个marker的对象。
所以只要把getAttr()中的marker换成this就可以了,这样可以指定到当前的标记。
我真是蠢成猪了。。。第一篇文章,如有读者,望见谅。
百度地图创建多个marker和监听事件相关推荐
- 小程序动画创建及动画结束的监听事件
小程序动画创建 绑定动画数据 <view class="img-box" animation='{{animationData}}' bindtransitionend='a ...
- 百度地图创建标注marker,最优缩放级别
百度地图创建marker坐标,添加自定义标注: //首先要引入百度api <script type="text/javascript" src="http://ap ...
- 百度地图鼠标滑过marker时打开自定义信息窗口
在百度地图上实现鼠标滑过marker时打开自定义的信息窗口,当鼠标滑出marker时关闭已打开的信息窗口. 首先,需要在地图上添加一个marker,具体如下所示: $.ajax({async:fals ...
- 使用Echart搭配百度地图创建某一地区热点图的注意点
使用Echart搭配百度地图创建的热点图,为网友免费做的demo,细节没有调整.记录一下写的过程. 效果图: 代码: <!DOCTYPE html> <html style=&quo ...
- 百度地图添加多个marker点位标注
百度地图添加多个marker点位标注 新建一个TMap.js文件 export function TMap(key) {return new Promise(function (resolve, re ...
- 基于高德地图的描点操作,监听地图缩放,展示合理数量的marker
原文:基于高德地图的描点操作,监听地图缩放,展示合理数量的marker 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lx583274568/art ...
- android地图旋转监听,android 百度地图 监听事件
1.一般事件监听 在初始化地图Activity时,注册一般事件监听,并实现MKGeneralListener的接口处理相应事件,将mBMapMan.init("我的Key", nu ...
- android百度地图的点击事件监听,百度地图监听事件addEventListener无效
我这到底是什么问题啊,能打开,能定位,能设置中心,就是监听事件不起作用加了setTimeout就会闪退,求帮助,急急急,很急 var winHeight,map,lat='39.989539',lon ...
- 【百度地图API】如何给自定义覆盖物添加事件
原文:[百度地图API]如何给自定义覆盖物添加事件 摘要: 给marker.lable.circle等Overlay添加事件很简单,直接addEventListener即可.那么,自定义覆盖物的事件应 ...
最新文章
- detector = dlib.get_frontal_face_detector()获取人脸框的用法
- SoapUI工具中的用户名和密码如何用net代码实现传入
- 测试开发面试准备之HTTP协议-一次完整的Http请求过程
- 如何在 SAP 电商云 Spartacus UI 里新建一个页面
- 从字符串 const str = ‘qwbewrbbeqqbbbweebbbbqee‘;中能得到结果 [“b“, “bb“, “bbb“, “bbbb“] 以下错误语句是?
- Python中Dict的查找
- 那些和闰年相关的 Bug
- AI杂谈(2)请教支持向量机用于图像分类
- webservice python开发接口_基于Python的Webservice开发(四)-泛微OA的SOAP接口
- 蓝桥杯 ALGO-55 算法训练 矩阵加法
- 熬了一个通宵,终于把Reids的7千万个Key删完了,今天脑子都嗡嗡响!
- RTX2.02 tiny中文手册
- 原来这就是公文写作年终总结材料末尾段首句参考例句
- 删除卸载不干净的任务 vmware卸载不干净->服务清理 / 注册表清理
- windows10安装NVIDIA显卡驱动+cuda10.0教程
- 购物直播APP开发系统方案
- 万字详解 Linux 常用指令(值得收藏)
- 高级查询组件dynamicCondition升级为v2.0.0版本(一)——使用步骤
- 论文投稿指南——中文核心期刊推荐(机械、仪表工业)
- 复式记账法-银行业务
热门文章
- window10好用的软件
- 微信jssdk开发 java_Java微信公众平台开发(十三)--微信JSSDK中Config配置
- mysql详细到哭的基本操作
- 【数据库】吐血整理---数据库合集
- android ellipsize 多行,android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法...
- android:ellipsize=end 不起作用,当TextView设置ellipsize =end无效时解决方案
- 疾病负担研究(GBD)-如何绘制全球国家发病率数据
- 五种控制Android应用的权限的方法
- 流量挂机赚钱项目Traffmonetizer
- todolist清单的基本功能以及如何实现