@Cody_Yu 你好,想跟你请教个问题:
百度离线地图2.0应用中,下载了你给的测试代码,但是基本的地图类型和缩放功能都无效了
我刚试了好用啊,好像需要你强制刷新一下浏览器?######
恩,可以了,我现在碰到个新问题,我创建了三个marker,给每个marker绑定了个click事件,当点击的时候创建一个circle,不知道什么原因,点击后没效果
var json_data = [[119.906,31.810],[119.910,31.807],[119.906,31.808]];var json_labels = ["cush_1","cush_2","cush_3"];
for(var i=0;i<json_data.length;i++){
var marker = new BMap.Marker(new BMap.Point(json_data[i][0], json_data[i][1])); // 创建点 var label = new BMap.Label(json_labels[i],{offset:new BMap.Size(20,-10)}); label.setStyle({border:"1px solid #ccc",fontSize:"14px"}); marker.setLabel(label);
map.addOverlay(marker); //增加点
marker.addEventListener("click",search);
}
function search(e){
var p= e.target;
var cMap = p.getMap();
var circle = new BMap.Circle(new BMap.Point(119.906, 31.810),800,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3});
cMap.addOverlay(circle);
}
###### 你的问题,第一,addEventListener语句挪到addOverlay前面去有效;第二,你画的圈圈太小了,需要放大地图才能看到,然后就是,可以直接从e.target.point来获取目标marker的坐标点。
var json_data = [[119.906,31.810],[119.910,31.807],[119.906,31.808]]; var json_labels = ["cush_1","cush_2","cush_3"]; for(var i=0;i<json_data.length;i++){ var marker = new BMap.Marker(new BMap.Point(json_data[i][0], json_data[i][1])); // 创建点 marker.enableDragging();//这是我增加的功能测试,拖动也能用 var label = new BMap.Label(json_labels[i],{offset:new BMap.Size(20,-10)}); label.setStyle({border:"1px solid #ccc",fontSize:"14px"}); marker.setLabel(label); marker.addEventListener("click",search);//这一句要在前面 map.addOverlay(marker); //增加点 } function search(e){ var p= e.target; var cMap = p.getMap(); var circle = new BMap.Circle(p.point,800,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3}); cMap.addOverlay(circle); }
######
var json_data = [[119.906,31.810],[119.910,31.807],[119.906,31.808]]; var json_labels = ["cush_1","cush_2","cush_3"]; for(var i=0;i<json_data.length;i++){ var marker = new BMap.Marker(new BMap.Point(json_data[i][0], json_data[i][1])); // 创建点 marker.enableDragging();//这是我增加的功能测试,拖动也能用 var label = new BMap.Label(json_labels[i],{offset:new BMap.Size(20,-10)}); label.setStyle({border:"1px solid #ccc",fontSize:"14px"}); marker.setLabel(label); marker.addEventListener("click",search);//这一句要在前面 map.addOverlay(marker); //增加点 } function search(e){ var p= e.target; var cMap = p.getMap(); var circle = new BMap.Circle(p.point,800,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3}); cMap.addOverlay(circle); }
多谢指点,我再试试。能否留下你的qq或者邮箱,多交流
能否把你测试的代码压缩下发给我下,我这边还是有问题!!!!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。