2014-03-06 44 views
0

我試圖使用地址添加多個標記,並且我努力了幾個小時來修復它,我的JSON有4個地址並且只重複第一個然後停止,但是它不會添加任何標記。有人可以指出我失蹤的地方?

function successAvoid(data, textStatus) { 
    var geocoder; 
    var map; 
    var myOptions = { 
    center: new google.maps.LatLng(0, 0), 
    zoom: 6, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    map = new google.maps.Map(document.getElementById("map-page"), myOptions); 
    $.each(data, function (i, x) { 
     geocoder.geocode({ 'address': x.address}, function (results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       var marker = new google.maps.Marker({ 
        map: map, 
        position: results[i].geometry.location 
       }); 
      } else { 
       alert("Geocode was not successful for the following reason: " + status); 
      } 
     }); 
    }); 
} 

回答

1

嘗試在geocoder.geocode調用後插入return true。如果它返回false,則可能取消每個循環。

從jquery.com:

我們可以通過將回調 函數返回false打破在一個特定的迭代$.each()循環。非循環的返回與循環中的 的continue語句相同;它會立即跳到下一個迭代。

+0

忘記吧,那是對的,我在代碼上犯了一個錯誤,它沒有循環。 – fsi

+0

@fsi如果您願意,請將此標記爲正確答案。 – noel

相關問題