當我使用jquery-ui-map創建一個谷歌地圖實例這樣的目標一個jQuery UI的地圖生成的地圖:如何使用信息框
$('#CHMap').gmap({
mapTypeControl : false
}).bind('init', function(evt, map) {
log("Map initilised");
});
然後在別處劇本我使用InfoBox添加一些充滿數據風格能信息框從地理定位服務拉回,像這樣:
var boxText = document.createElement("div");
var ib = new InfoBox(myOptions); //myOptions can be ignored for this example
$.each(data, function(name, value) {
$('#CHMap').gmap('addMarker', {
id:value['YourId'],
'position': value['Latitude']+','+value['Longitude'],
'bounds': true,
'icon': '/img/gicon.png'
}).click(function() {
boxText.innerHTML = "hello";
ib.setContent(boxText);
ib.open(map, this);
});
});
「數據」是一個對象從地理定位服務返回。如果我在第一次創建gmap時將上面的'addMarker'代碼放在綁定的'init'函數中,infoBox顯示正常。當我在別處使用'addMarker'代碼時,在控制檯中出現「Uncaught ReferenceError:map is not defined」錯誤。
如何正確引用'地圖'?看起來我不能做var map = $('#CHMap').gmap({//options});
,因爲'jquery-ui-map'文檔提示gmap不會返回任何內容。
嗨克里斯蒂亞諾,事實證明的方式來獲得地圖上的把手是'無功地圖= $(「#CHMap」)。GMAP(「得到」,「地圖」)'.I'll接受你回答並將編輯它爲任何未來的谷歌。謝謝! –