Какой-то приятель поможет мне?
Я пытался определить расстояние между двумя адресами, используя карту Google, но когда я изменил источник и пункт назначения наоборот, карта Google выдает мне разные ответы.
Первый адрес: 1 Airport Drive, Окленд, Калифорния 94621, США
Второй адрес: 44085 Laurel Canyon Way, Fremont, CA 94539, США.
Отклик:
"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
},
Отклик:
"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
},
В данном ответе расстояние объекта -> текст и расстояние -> значение оба ответа различны.
Я не могу понять, если тот же адрес, так почему это произошло.
Карта Google не находит расстояния по формуле расстояния между двумя точками, а рассчитывает расстояние на основе маршрутов.
Есть разные маршруты, чтобы добраться до места назначения. Следовательно, когда вы проверяете наоборот, он мог выбрать альтернативный маршрут.
Если вы посмотрите на Google Maps (не API), вы увидите, что маршруты не совпадают.
Это часто бывает в аэропортах.
Алгоритм Google для расстояния работает вокруг маршрутов. Таким образом, для одного и того же пункта отправления и назначения расстояние и продолжительность будут отличаться. Он также учитывает трафик и дает вам оптимальный оптимизированный маршрут, поэтому у вас нет контроля над расстоянием и продолжительностью, которые API будет возвращать для того же пункта отправления и назначения, если они перевернуты.
Одним из обходных путей может быть указание путевых точек, попадающих между каждым маршрутом от пункта отправления до пункта назначения и пункта назначения до пункта назначения, чтобы не было изменений в маршруте и, возможно, было бы возвращено одинаковое расстояние в обоих направлениях.