Найти расстояние между двумя адресами, используя карту Google, но наоборот, источник и пункт назначения, чтобы дать разные ответы

Какой-то приятель поможет мне?

Я пытался определить расстояние между двумя адресами, используя карту Google, но когда я изменил источник и пункт назначения наоборот, карта Google выдает мне разные ответы.

Первый адрес: 1 Airport Drive, Окленд, Калифорния 94621, США
Второй адрес: 44085 Laurel Canyon Way, Fremont, CA 94539, США.

http://maps.googleapis.com/maps/api/directions/json?origin=Oakland+International+Airport+%28OAK%29,+1+Airport+Drive,+Oakland,+CA+94621,+USA&назначения = 44085 + Laurel Canyon + + Путь + Fremont, CA +, + United% 20States&Датчик = ложь

Отклик:

   "routes" : [
{
"bounds" : {
"northeast" : {
"lat" : 37.7311528,
"lng" : -121.932651
},
"southwest" : {
"lat" : 37.5066302,
"lng" : -122.2137008
}
},
"copyrights" : "Map data ©2015 Google",
"legs" : [
{
"distance" : {
"text" : "24.6 mi",
"value" : 39536
},
"duration" : {
"text" : "33 mins",
"value" : 1982
},

http://maps.googleapis.com/maps/api/directions/json?origin=44085+Laurel+Canyon+Way,+Fremont,+CA,+United%20States&назначения = Oakland + Международный аэропорт + +% 28OAK% 29 + 1 + аэропорт + Drive + Oakland, CA + + 94621 + США&Датчик = ложь

Отклик:

"routes" : [
{
"bounds" : {
"northeast" : {
"lat" : 37.7325325,
"lng" : -121.932675
},
"southwest" : {
"lat" : 37.5081351,
"lng" : -122.2137008
}
},
"copyrights" : "Map data ©2015 Google",
"legs" : [
{
"distance" : {
"text" : "24.2 mi",
"value" : 38993
},
"duration" : {
"text" : "31 mins",
"value" : 1839
},

В данном ответе расстояние объекта -> текст и расстояние -> значение оба ответа различны.

Я не могу понять, если тот же адрес, так почему это произошло.

0

Решение

Карта Google не находит расстояния по формуле расстояния между двумя точками, а рассчитывает расстояние на основе маршрутов.

Есть разные маршруты, чтобы добраться до места назначения. Следовательно, когда вы проверяете наоборот, он мог выбрать альтернативный маршрут.

0

Другие решения

Если вы посмотрите на Google Maps (не API), вы увидите, что маршруты не совпадают.

Это часто бывает в аэропортах.

0

Алгоритм Google для расстояния работает вокруг маршрутов. Таким образом, для одного и того же пункта отправления и назначения расстояние и продолжительность будут отличаться. Он также учитывает трафик и дает вам оптимальный оптимизированный маршрут, поэтому у вас нет контроля над расстоянием и продолжительностью, которые API будет возвращать для того же пункта отправления и назначения, если они перевернуты.

Одним из обходных путей может быть указание путевых точек, попадающих между каждым маршрутом от пункта отправления до пункта назначения и пункта назначения до пункта назначения, чтобы не было изменений в маршруте и, возможно, было бы возвращено одинаковое расстояние в обоих направлениях.

0
По вопросам рекламы [email protected]