作为开发的初学者,这东西仅仅作为个人备份,如果能帮到忙也也不错(我开发用的php,但这是js这本身没多大影响)
这里要说明几个问题:
1.boxy调用的页面中不能出现《script》标签不然不能显示
2.boxy调用的时候要注意流程,要先加载出boxy然后再去渲染地图到boxy页面中
3.百度地图的加载js应放在弹出boxy的那个页面中
注意流程:boxy页面其实为单独的一个页面只是用了ajax中$.get('/index.php?r=comm/map_coordinate', function(data){}方法来调用页面
关键触发js如下:
(function(){
$(document).ready(function() {
$("#Mechine_mec_points").click(function(){
__MC.Map_coordinate.getcorrdinate();
});
});
__MC.Map_coordinate = {
getcorrdinate:function(){
$.get('/index.php?r=comm/map_coordinate', function(data){ //调用boxy对应的页面,页面中就只有一个id=allmap的div
new Boxy(data,{ //在外面已经加载好百度地图AIP的js
'title':'地图坐标拾取',
'modal':true,
'draggable':false,
'unloadOnHide' : true,
'afterShow' : function(){
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(106.566872, 29.536861), 17);
map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
function showInfo(e){
$("#Mechine_mec_points").val(e.point.lng + ", " + e.point.lat);
}
map.addEventListener("click", showInfo);
}//aftershow结束
});
return false;
});
},
}
})();