Я использую Карты Google DistanceMatrixService()
, чтобы получить маршруты и расстояние между 2 точками в GoogleMaps. Однако результат, который я получаю от службы, немного отличается от результата, показанного на веб-сайте GoogleMaps.DistanceMatrixService дает различное расстояние от Google Maps
Я получаю 4 км, когда веб-сайт показывает 3 км.
Я знаю, что он может иметь разницу при использовании мест вместо фактического адреса, но я использую координаты как в api, так и на веб-сайте, и результат по-прежнему отличается.
Это мой код:
//Just for example
var origin = '-27.5970141,-48.5614466';
var destination = '-27.5927353,-48.5556316';
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [origin],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC
}, callback);
Эти координаты на map gives a distance в 3,1km и по запросу на обслуживание составляет 4,8 км.
Что мне нужно сделать, чтобы получить фактическое расстояние?
Редактировать
Хотя делать некоторые тесты, я заметил, что я могу получить надлежащее расстояние, передав полный адрес вместо координат. Но это дает мне 2 проблемы:
- 1: Обычно у меня есть доступ только к координатам, из-за его легко хранить/получить информацию (придется изменить некоторые основной код системы, чтобы получить полный адрес);
- 2: Когда вы имеете дело с местами, где адресная ссылка на большое место, например, университет, где адрес огромен, стартовая точка не всегда там, где она должна была быть. Поэтому я продолжаю получать неправильное местоположение и неправильное расстояние.
4,8 км круглого-а-бой маршрут из-за происхождения, находящихся на «неправильную» стороне моста (это выглядит как «координата» как строки возвращается тот же результат). Вы действительно хотите «управлять» дистанцией? Будет ли ходить пешком? – geocodezip