S ktorou spolupracujem google.maps.polygons. Knižnica používa a google.maps.MVCArray prvok na uloženie vrcholov mnohouholníka, kde každý vrchol obsahuje premennú zemepisnú šírku a dĺžku. Takže dokážem za chodu vytvárať efektné polygóny pomocou kliknutí používateľov.
var listener1 = google.maps.event.addListener(map, "click", function(e) {
var latLng = e.latLng;
var myMvcArray = new google.maps.MVCArray();
myMvcArray.push(latLng); // First Point
var myPolygon = new google.maps.Polygon({
map: map,
paths: myMvcArray, // one time registration reqd only
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.10,
editable: true,
draggable: false,
clickable: true
});
google.maps.event.removeListener(listener1);
var listener2 = google.maps.event.addListener(map, "click", function(e) {
latLng = e.latLng;
myMvcArray.push(latLng);
console.log(myMvcArray.getArray());
});
});
Môj problém je, že výsledok protokolu konzoly je nepochopiteľný. Strávil som pár hodín pokusom prísť na to, ako získať čisté dáta z myMvcArray. Musím ich použiť inde.
odpovede:
5 pre odpoveď č. 1Ukázalo sa teda, že trik je tento:
console.log(myMvcArray.getArray()[0].lat(), myMvcArray.getArray()[0].lng() );
Ktorý sa vracia: XX.XX2157415679654 -XXX.XX782657623291
Funguje aj slučka For / Každá slučka.
myMvcArray.getArray().forEach(function(value, index, array_x) {
console.log(" index: " + index + " value: " + value);
})
Ktorý sa vracia:
index: 0 value: (XX.XX2157415679654, -XXX.XX782657623291)
index: 1 value: (XX.XX209255908967, -XXX.XX77514743805)
Informácie ponúkané pre prípad, že by tu mal niekto problémy. Všimnite si tiež, že vyššie uvedený kód funguje celkom dobre, pretože umožňuje používateľom ľahko definovať google.maps.polygon na mape.