百度离线地图2.0应用中,下载了你给的测试代码,但是基本的地图类型和缩放功能都无效了

kexiang19851028 发布于 2016/02/23 14:49
阅读 295
收藏 0

@Cody_Yu 你好,想跟你请教个问题:

百度离线地图2.0应用中,下载了你给的测试代码,但是基本的地图类型和缩放功能都无效了


加载中
0
于忠达
于忠达
我刚试了好用啊,好像需要你强制刷新一下浏览器?
0
kexiang19851028
kexiang19851028

引用来自“Cody_Yu”的评论

我刚试了好用啊,好像需要你强制刷新一下浏览器?

恩,可以了,我现在碰到个新问题,我创建了三个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);
}
0
于忠达
于忠达

你的问题,第一,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);
}



0
kexiang19851028
kexiang19851028

引用来自“Cody_Yu”的评论

你的问题,第一,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);
}



多谢指点,我再试试。能否留下你的qq或者邮箱,多交流

能否把你测试的代码压缩下发给我下,我这边还是有问题!!!!

返回顶部
顶部