实现点击百度地图上的覆盖物,然后获取覆盖上的属性,进而实现数据传送。
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);
}