2014-07-26 39 views
0

我得到一個包含由逗號分隔的多邊形緯度和經度的字符串(頂點)。我將它轉換爲數組並嘗試將其分配給Google地圖以顯示多邊形。但是當我在下面的註釋數組中硬編碼值時,我在地圖上得到多邊形,但是如果我嘗試分配我的數組(polygoncoordinates),它不會顯示出來。有人能告訴我我在做什麼錯誤嗎?在Google地圖上顯示包含經度和緯度的數組列表

function initialize() { 
      var mapOptions = { 
       center: new google.maps.LatLng(23.9661, 76.6845), 
       zoom: 7 
      }; 
      var map = new google.maps.Map(document.getElementById('map-canvas'),   mapOptions); 
      var val = vertices.split(',');    
      var polygonCoordinates = []; 
      for (var i = 1; i<val.length; i++) { 
       if (val[i] == "") { 
       } 
       else {      
        var temp; 
        temp = val[i].split(':'); 
        var kk = temp[1].split(';'); 
        var googleContent = 'new google.maps.LatLng(' + kk[0] + ', ' + kk[1] ')'; 
        polygonCoordinates.push(googleContent); 
       } 
      } 

    //  var polygonCoordinates = [new google.maps.LatLng(23.9661, 76.6845), 
    //new google.maps.LatLng(23.1605,81.7822), 
    //new google.maps.LatLng(26.7848, 82.4853) 
    //]; 

      var bermudaTriangle = new google.maps.Polygon({ 
       paths: polygonCoordinates, 
       strokeColor: 'black', 
       strokeOpacity: 0.8, 
       strokeWeight: 2, 
       fillColor: 'black', 
       fillOpacity: 0.35 
      }); 
      bermudaTriangle.setMap(map); 
     } 
     google.maps.event.addDomListener(window, 'load', initialize); 

在此先感謝

回答

1

使用

var googleContent = 'new google.maps.LatLng(' + kk[0] + ', ' + kk[1] ')'; 
polygonCoordinates.push(googleContent); 

你正在建設一個字符串數組。 polygonCoordinates應該是數組LatLng。您必須使用:

var googleContent = new google.maps.LatLng(kk[0], kk[1]); 
polygonCoordinates.push(googleContent); 
相關問題