2012-09-11 8 views

Odpowiedz

14

W końcu znalazłem rozwiązanie! Problem polegał na tym, że encodePath spodziewa się obiektu google.maps.LatLng, a nie tylko obiektu .

Tutaj jest funkcją okazuje się układ podobny do tego descripted powyżej w zakodowany ciąg:

function encodeLatLngPolygon(array) { 

var polyOptions = { 
strokeColor: '#000000', 
strokeOpacity: 1.0, 
strokeWeight: 3 
    } 
    poly = new google.maps.Polyline(polyOptions); 

var path = poly.getPath(); 

for(var i=0;i<array.length;i++) { 
    var xyz = new google.maps.LatLng(parseFloat(array[i][0]).toFixed(2), parseFloat(array[i][1]).toFixed(2)); 
    path.push(xyz);    

} 

var code = google.maps.geometry.encoding.encodePath(path) 

return code; 
} 

toFixed zmniejsza liczbę miejsc po przecinku do zapisywania bajtów. Możesz usunąć lub dostosować ten parametr.

Powiązane problemy