2011-05-11 165 views
-2

你好誰能幫我調試的小錯誤,我的眼睛似乎跳過錯誤是:?意外(錯誤是我的數組了Syntex正確意外令牌(錯誤

function SourceClusting() 
{ 
    // grabbing count 
    var table = document.getElementById('OSDataCount'); 
    var counter= table.rows[1].children[0].innerHTML 
    // putting all variable into arrays 
    var latitude() 
    var longitude() 
    var i 

    var marker =[]; 

    // placing values into arrays 
    for (i=1;i == counter;i++) 
     { 
     longitude[i]=table.rows[i].children[6].innerHTML; 
     latitude[i]=table.rows[i].children[5].innerHTML; 

     marker[i]=new GMarker(new GLatLng(longitude[i],latitude[i])); 

     } 

    var markerCluster = new MarkerClusterer(map, marker); 


} 

歡呼

+0

嘗試使用jslint.com檢查語法 – Maz 2011-05-11 17:46:33

+3

VAR緯度()VAR經度()?這些變量是?嘗試刪除()並用一個替換; – Andreas 2011-05-11 17:46:40

回答

0

不少東西:

  • 你必須parseInt()var counter = ...得到字符串,作爲字符串不能使用在整數的方式比較你想。
  • var latitude =()var latitude = [],因爲它是一個數組,不要忘記那些分號!
  • 您通常使用的環比籤較少人,而不是一個等號==
  • 您可以通過在其中初始化i來濃縮循環。

試試這個新的,可能的工作代碼:

function SourceClusting() { 
    // grabbing count 
    var table = document.getElementById('OSDataCount'); 
    var counter= parseInt(table.rows[1].children[0].innerHTML, 10); 
    // putting all variable into arrays 
    var latitude = []; 
    var longitude = []; 

    var marker =[]; 

    // placing values into arrays 
    for (var i = 0; i < counter; i++) 
     { 
     longitude[i]=table.rows[i].children[6].innerHTML; 
     latitude[i]=table.rows[i].children[5].innerHTML; 

     marker[i]=new GMarker(new GLatLng(longitude[i],latitude[i])); 

     } 

    var markerCluster = new MarkerClusterer(map, marker); 


} 
2

的問題在這些線路:

var latitude() 
var longitude() 

你的意思是

var latitude; 
var longitude; 

或可能

var latitude = []; 
var longitude = []; 

,因爲你似乎是把他們當作陣列。

+0

當到達'經度[i] ='的行時,這會出錯。 – Quentin 2011-05-11 17:47:59

0

var latitude()是無稽之談。我懷疑你的意思是var latitude = [];

(具有類似的修正以下行)

0

如果你想,而不是實例化一個數組:

var latitude(); 

它應該是:

var latitude = []; 
0

你聲明var latitidue(),但是這並沒有使任何東西。 ,因此意外「(」此外,失蹤後聲明分號