Недостаточный результат измерения карты Google Maps

Я выполняю запрос к API-интерфейсу Масштабирования карт Google для вычисления расстояния от одной точки к другой. Оба пункта находятся в России. Проблема в том, что в некоторых случаях API возвращает неправильный адрес.

Например, я выбираю этот пункт на побережье Черного моря, Россия.

Запрос API - это https://maps.googleapis.com/maps/api/distancematrix/json?origins=58.3941198,33.223535&destinations=44.58019749055891,38.0705451965332&mode=driving&language=ru-RU&key=

Он возвращает

"destination_addresses" : [
  "1 Chome-11 Kamifukubara, Yonago-shi, Tottori-ken 683-0004, Japan"
],...

Итак, Google Maps знает, что это Россия, но Distance Matrix думает, что это Япония. Почему?

Известна ли ошибка для мест вблизи морского побережья?

Ответы

Ответ 1

Хорошие новости и плохие новости:)

Плохая новость заключается в том, что японский адрес появится во многих удаленных местах, так как это постоянная проблема в API геокодирования. Об этом сообщается в Tracker для Google Maps API: https://code.google.com/p/gmaps-api-issues/issues/detail?id=9683

Посмотрите этот комментарий в поисковике проблем, чтобы узнать, как это сделать.

Хорошей новостью является то, что вы по-прежнему получаете правильные расстояния и маршрут от API-интерфейса расстояния и API-интерфейсов Directions.

Ответ 2

Проблема с этим расположением в Японии - это ее границы, которые говорят, что это по всему миру:

"formatted_address" : "1 Chome-11 Kamifukubara, Yonago-shi, Tottori-ken 683-0004, Japan",
     "geometry" : {
        "bounds" : {
           "northeast" : {
              "lat" : 90,
              "lng" : 180
           },
           "southwest" : {
              "lat" : -90,
              "lng" : -180
           }
        },
        "location" : {
           "lat" : 35.4426127,
           "lng" : 133.3638089
        },
        "location_type" : "APPROXIMATE",
        "viewport" : {
           "northeast" : {
              "lat" : 90,
              "lng" : 180
           },
           "southwest" : {
              "lat" : -90,
              "lng" : -180
           }
        }
     },
     "place_id" : "ChIJlwBC99P3VjUReuUmCg7qU_E",
     "types" : [ "sublocality_level_3", "sublocality", "political" ]