2012-04-30 36 views
0

我使用谷歌map.i具有工作​​fine.here一個簡單的例子是代碼的JavaScript命令級聯問題

function initialize() { 
     if (GBrowserIsCompatible()) { 

var map = new GMap2(document.getElementById('map_canvas')); 
      map.setCenter(new GLatLng(1, 103.849), 5); 
      map.addOverlay(new ELabel(new GLatLng(1, 103.849), 1, 'style11')); 
      map.addOverlay(new ELabel(new GLatLng(1, 103.980), 2, 'style11')); 
      map.setUIToDefault();}} 

這上面的函數工作well.Now我希望把它dynamic.like設置中心我想通過變量,像我這個地方我想要使用這個var center =「1,103.849」,我把這一行的地方 map.addOverlay(新的ELabel(新的GLatLng(1,103.849), 1,'style11')); 我想在變量中使用這一行.... 這裏是我的代碼,不工作。任何人糾正我?

function initialize() { 
     if (GBrowserIsCompatible()) { 
      var center = "1, 103.849"; 
      var Locations = "map.addOverlay(new ELabel(new GLatLng(1, 103.849), 1, 'style11'));map.addOverlay(new ELabel(new GLatLng(1, 103.980), 2, 'style11'));"; 

      var map = new GMap2(document.getElementById('map_canvas')); 
      map.setCenter(new GLatLng(center), 5); 
      +Locations + 

      map.setUIToDefault(); 
     } 
    } 

回答

1

GLatLng以兩個數字作爲參數,而不是一個字符串。你需要做的

var centerlat = 1; 
var centerlng = 103.849; 
map.setCenter(new GLatLng(centerlat,centerlng), 5); 

我不知道什麼+Locations+旨在實現。這是一個語法錯誤。只需使用以前的map.addOverlay()行。

map.addOverlay(new ELabel(new GLatLng(centerlat,centerlng), 2, 'style11')); 

請注意,版本2已過時,並且不需要很長時間。使用API​​的第3版(這是相當不同的)。

+0

是的,我正在使用版本3.yes我已經修復了這一點map.setCenter(新GLatLng(centerlat,centerlng),5); ....問題仍然存在,在下一點....我指向谷歌地圖不同的位置是什麼原因爲所有記錄動態地創建map.addOverlay ...例如,如果我必須在地圖上顯示50點,那麼我們必須使用50 map.addOverlay ... – Methew

+0

我現在編輯我的代碼...這裏是問題,當我想要在谷歌我多於一個數據...實際上,我想顯示用戶搜索的所有搜索結果 – Methew

+1

您沒有使用版本3.'GBrowserIsCompatible','GMap2'和'GLatLng'都是版本2;和'ELabel'只適用於版本2. –