实现点击百度地图上的覆盖物,然后获取覆盖上的属性,进而实现数据传送。
var pointArray=new Array();//创建一个数组存储坐标
/*在地图上标点*/
function ShowAllPoint(){
$.ajax({
type: "GET",
url: "http://localhost:27731/api/Welcome/ShowAllPoint",
data: {},
dateType: "json",
params:{"contentType": "application/json;charset=utf-8"},
success: function (data) {
for(var i=0;i < data.length;i++){
//创建点
marker = new BMap.Marker(new BMap.Point(data[i].Longitude,data[i].Latitude));
//增加点
map.addOverlay(marker);
pointArray[i]=new BMap.Point(data[i].Longitude,data[i].Latitude);
var _id=data[i].Id;
marker.customData={id:_id};//自定义参数id
marker.addEventListener("click",attribute);
}
},
error:function(data) {
layer.msg(data.msg,{icon:2,time:3000});
},
});
//让所有点在视野范围内
map.setViewport(pointArray);
//获取覆盖物位置
function attribute(e){
var p = e.target;
var id= e.target.customData.id;
alert("id="+id+"marker的位置是" + p.getPosition().lng + "," + p.getPosition().lat);
}
浙公网安备 33010602011771号