作為開發的初學者,這東西僅僅作為個人備份,如果能幫到忙也也不錯(我開發用的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;
});
},
}
})();