博客列表 >百度地图JavaScript API

百度地图JavaScript API

dxp2tq的博客
dxp2tq的博客原创
2017年11月24日 15:03:52994浏览

百度地图JavaScript API注意事项

两种地图点击弹窗的区别:

① 自定义复杂覆盖物(以下方法不能获取pro_point)

//初始化重新地位后项目新地图
var pro_map_new = new BMap.Map("allmap");
var pro_point_new = new BMap.Point(lngCurrent,latCurrent);
pro_map_new.centerAndZoom(pro_point_new,15);
//定位后,生成新地图 全局新地图pro_map_new
window.pro_map_new = pro_map_new;

myCompOverlay.addEventListener("click",function(e){
   openInfo(content,e);
});

function openInfo(content,e){
   var p = e.target;
   var pro_point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
   var infoWindow = new BMap.InfoWindow(content,opts);  // 创建信息窗口对象
   pro_map_new.openInfoWindow(infoWindow,pro_point); //开启信息窗口
}

② 标注(以下方法能获取pro_point)

//初始化重新地位后项目新地图
var pro_map_new = new BMap.Map("allmap");
var pro_point_new = new BMap.Point(lngCurrent,latCurrent);
pro_map_new.centerAndZoom(pro_point_new,15);
//定位后,生成新地图 全局新地图pro_map_new
window.pro_map_new = pro_map_new;

var myIcon = new BMap.Icon("http://www.yantiansf.cn/mapImage/1.gif", new BMap.Size(48,48),{
   anchor:new BMap.Size(13,15),
   imageOffset:new BMap.Size(0,0)
});
var pro_mk_new = new BMap.Marker(pro_point_new,{icon:myIcon});  // 创建标注

pro_mk_new.addEventListener("click",function(e){
   openInfo(content,e);
});

function openInfo(content,e){
   var p = e.target;
   var pro_point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
   var infoWindow = new BMap.InfoWindow(content,opts);  // 创建信息窗口对象
   pro_map_new.openInfoWindow(infoWindow,pro_point); //开启信息窗口
}

总结: 自定义覆盖物不能绑定点击事件

           自定义marker能绑定点击事件

           若要实现自定义覆盖物实现点击,可将marker绑定到自定义覆盖物上。。。(经验之谈)


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议