Aktualnie tworzę funkcję "przeszukuj obszar" dla witryny, nad którą pracujemy. Trochę jak ten na Rightmove.Jak śledzić zmiany zdarzeń w wielokącie za pomocą interfejsu Google Maps API
Mam wszystko uruchomione, z wyjątkiem możliwości śledzenia zmian zdarzeń w wielokącie (ustawianie nowych punktów i modyfikowanie istniejących). Muszę być w stanie opublikować współrzędne do formularza do przesłania.
Próbowałem już dokumentów Google Code dla editing events. I za każdym razem, gdy go wypróbowuję, albo otrzymuję komunikat o tym, że "set_at" nie jest możliwe, albo mój obiekt nie jest zdefiniowany.
Przypuszczam nieco wiem, to źle jest thePolygon
zmienna nie zostanie przeniesione na nowego google.maps.event.addListener(thePolygon, 'set_at', function() { // grab paths for infoWindow grabPaths(thePath); });
Ale nie wiem dlaczego. Jest to zmienna globalna. Czy nie jest?
Pytanie brzmi: jak mogę śledzić zmiany w wielokącie, aby przekazać zaktualizowane współrzędne do mojego formularza?
Cała pomoc jest bardzo doceniana.
Oto kod Obecnie mam:
var mapOptions = {
// options
};
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
var drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: false,
polygonOptions: {
// drawing options
}
});
drawingManager.setMap(map);
google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {
// complete functions
});
google.maps.event.addListener(thePolygon, 'set_at', function() {
// complete functions
});
google.maps.event.addListener(thePolygon, 'insert_at', function() {
// complete functions
});
Ha ha, działa wspaniale. Byłem tak blisko, a jednak daleko. Dzięki za pomoc. Zostało to bardzo docenione. To było chwytanie zmian ścieżek, których nie mogłem zgłębić. To było takie proste. –
Zobacz http://stackoverflow.com/questions/12515748/event-after-modifying-polygon-in-google-maps-api-v3 – jjwdesign
użyj 'polygon.getPath()' zamiast 'thePath' –