Moja aplikacja umożliwia użytkownikowi wybranie dwóch punktów na mapie i znalezienie trasy między nimi za pomocą usługi Wskazówki na mapie Google Apiv3. Następnie współrzędne wzdłuż tej trasy muszą zostać zapisane w bazie danych. Mogłem z powodzeniem napisać cały kod, aby to osiągnąć. Jednak nie mam problemu.Pobieranie wszystkich współrzędnych wzdłuż trasy wygenerowanej przez usługę Wskazówki dojazdu w Google Maps Apiv3
Wiem, że istnieje kilka innych pytań w StackOverflow-One, Two na tym samym, ale myślę, że na pewno oni albo ja pominęli coś tutaj.
Przykładowy kod:
function getCoordinates(result) {
var currentRouteArray = result.routes[0]; //Returns a complex object containing the results of the current route
var currentRoute = currentRouteArray.overview_path; //Returns a simplified version of all the coordinates on the path
obj_newPolyline = new google.maps.Polyline({ map: map }); //a polyline just to verify my code is fetching the coordinates
var path = obj_newPolyline.getPath();
for (var x = 0; x < currentRoute.length; x++) {
var pos = new google.maps.LatLng(currentRoute[x].kb, currentRoute[x].lb)
latArray[x] = currentRoute[x].kb; //Returns the latitude
lngArray[x] = currentRoute[x].lb; //Returns the longitude
path.push(pos);
}
}
Powyższy kod działa idealnie z tym że kb
i lb
właściwości głównej ścieżki, które wydają się trzymać łata i LNG współrzędne nie zawsze są takie same. Kiedy ostatnio tworzyłem kod, przez kilka dni był kb
i lb
, a później zmieniono go na mb
, nb
, a dziś na jb
i kb
.
Nie widzę żadnych innych właściwości w obiekcie, które mogłyby zapewnić mi latlng inne niż powyższe. Odpowiedzi na inne podobne pytania wspominają ten problem. Czy coś mi umyka? Jakiekolwiek niezawodne rozwiązania, proszę.
Jesteś moim bohaterem – zz3599
Wow! Dziękuję Ci! – Jonathan