Мое приложение позволяет пользователю выбрать две точки на карте и найти маршрут между ними с помощью службы маршрутов карт Google Apiv3. Затем координаты по этому маршруту должны быть сохранены в базе данных. Я мог бы успешно написать весь код для этого. Однако я не имею проблемы.
Я знаю, что есть несколько других вопросов в StackOverflow- Один, Два на том же самом, но Я думаю, что либо они, либо я пропустили что-то здесь.
Пример кода:
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);
}
}
Приведенный выше код работает отлично, за исключением того, что свойства kb
и lb
пути обзора, которые, как представляется, содержат координаты lat и lng, не всегда одинаковы. В последний раз, когда я сделал код, он был kb
и lb
в течение нескольких дней, а затем он изменился на mb
, nb
и сегодня jb
и kb
.
Я не вижу никаких других свойств в объекте, которые могут предоставить мне latlng, кроме указанного выше. Ответы на другие подобные вопросы не упоминают эту проблему. Я что-то упустил? Любые надежные решения, пожалуйста.