自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

查看: 962|回复: 2
打印 上一主题 下一主题

[已解决]marker点击弹出信息窗口和信息窗口的按钮

[复制链接]
最佳答案
1 

14

主题

29

帖子

118

积分

新手上路

Rank: 1

积分
118
跳转到指定楼层
楼主
发表于 2016-6-2 18:08:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Theseven77 于 2016-6-2 18:11 编辑

在左侧菜单栏点击按钮,获取相关信息,然后点击地图,在地图放置marker,这里已经没有问题。问题是:
1、给这个marker绑定点击事件,点击marker显示信息窗口,只有第一次点击才出现,后面都没有。

2、这个信息窗口有个按钮,点击按钮没反应控制台提示dataRemove is not defined 。这个dataRemove就是要执行的方法。
  1.   function addData(icon,dataId,dataName,deviceName,buildId,buildName){        
  2.                         var myIcon = Indoor.icon({
  3.                                 iconUrl:"/scada/"+icon,
  4.                         });
  5.                         var titleContent=deviceName+"-->"+dataName;
  6.                         var marker;
  7.                         //绑定一次点击事件
  8.                         var adddata = myIndoormap.once("click",function(e){
  9.                                 marker = Indoor.marker(e.latlng,{
  10.                                         icon:myIcon,
  11.                                         draggable:true,
  12.                                         title:titleContent,
  13.                                         riseOnHover:true,
  14.                                 }).addTo(myIndoormap);
  15.                                 datalocation = marker.getLatLng();
  16.                                marker.addEventListener("click",markerPopup);
  17.                                 function markerPopup(){
  18.                                         var confirmPopup=Indoor.popup();
  19.                                        confirmPopup.setContent("<div><h5>"+dataName+"</h5><input type='button' onclick='dataRemove()' value='删除' /></div>");
  20.                                         marker.bindPopup(confirmPopup).openPopup();
  21.                                         function dataRemove(){
  22.                                                 marker.remove(myIndoormap);
  23.                                         }
  24.                                 }
  25.                         });
  26.                 }
复制代码
麻烦帮我看看是哪里出了问题。。实在是找不到了,谢谢~~
回复

使用道具 举报

最佳答案
14 

0

主题

17

帖子

94

积分

新手上路

Rank: 1

积分
94
沙发
发表于 2016-6-3 10:40:06 | 只看该作者    本楼为最佳答案   
marker 不需要增加点击事件再显示popup,直接绑定后 点击就自动显示了;另外这个marker定义为一个全局变量
marker = Indoor.marker(e.latlng,{
         icon:myIcon,
         draggable:true,
         title:titleContent,
         riseOnHover:true,
}).addTo(myIndoormap);

var confirmPopup=Indoor.popup();
confirmPopup.setContent("<div><h5>"+dataName+"</h5><input type='button' onclick='myIndoormap.removeLayer(marker)' value='删除' /></div>");
marker.bindPopup(confirmPopup).openPopup();





回复 支持 反对

使用道具 举报

最佳答案
1 

14

主题

29

帖子

118

积分

新手上路

Rank: 1

积分
118
板凳
 楼主| 发表于 2016-6-3 12:02:03 | 只看该作者
百世经纶 梵天 发表于 2016-6-3 10:40
marker 不需要增加点击事件再显示popup,直接绑定后 点击就自动显示了;另外这个marker定义为一个全局变量
...

谢谢   弹窗确实解决了~~ 但是我点击弹窗的删除还是不行。。点击这个marker弹窗里的删除按钮删不掉这个marker
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表