2011-06-24 64 views
1

我在維護一些涉及mapquest地圖API的代碼。還有具有此行一個JavaScript init()函數:如何從定義腳本的外部獲取對mapquest地圖的引用?

map = new MQA.TileMap(document.getElementById('map'),6,{lat:34, lng:-118},'hyb'); 

其中規定了地圖在下來的「地圖」標識的頁面,按照該API。

我的問題是,我想能夠從這個函數外部訪問這個映射,但我似乎無法在mapquest API中找到任何關於從包含它的div中獲取映射對象的東西。嘗試調用document.getElementById(「map」)的結果與地圖相關的方法不起作用。

回答

0

聽起來像你會使用全局變量map來引用它。

var map; 
function setUp(){ 
    map = new MQA.TileMap(document.getElementById('map'),6,{lat:34, lng:-118},'hyb'); 
} 

function doSomething(){ 
    if(!map) return; 
    map.XXX(); //where XXX is the method you want to call 
} 
+0

Bah,我真的應該知道現在JavaScript的範圍如何工作。當然這是有道理的。謝謝。 – Tneuktippa

+0

我實際上用window.map創建了一個全局變量。但是每當我嘗試getShapeCollection()時都是空的。即使地圖上有POI。你能幫助我嗎?我也無法使用map.removeShapeCollection()在新的查詢上擦除舊的POI; – keinabel