Получить расстояние маршрута на основе URL-адреса Google с помощью Google api

#c# #google-maps #google-api

#c# #google-карты #google-api

Вопрос:

Я хочу получить distance , в конечном итоге, другую информацию, запрашивающую через google API . Я получил Google API key . Как вы видите ниже, у меня есть общий шаблон, который я заполняю во время запуска программы, в нем могут быть путевые точки и режимы перемещения. Каким должен быть запрос Google API для получения расстояния и другой информации, скажем, через JSON ?

 String mapsUrl = $"https://www.google.com/maps/dir/?api=1amp;origin={origin}amp;destination={destination}amp;waypoints={torun}|{lodz}amp;travelmode={travelMode}amp;dir_action=navigate";
  

Ответ №1:

Из документации Google здесь — вам нужно будет использовать Distance Matrix API.

Запрос будет выглядеть примерно так:

 https://maps.googleapis.com/maps/api/distancematrix/json?units=imperialamp;origins=Washington,DCamp;destinations=New York City,NYamp;key=YOUR_API_KEY
  

Замените заполнитель YOUR_API_KEY своим ключом.

Ответом будет Json в этом формате:

 {
   "destination_addresses" : [ "New York, NY, USA" ],
   "origin_addresses" : [ "Washington, DC, USA" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "225 mi",
                  "value" : 361715
               },
               "duration" : {
                  "text" : "3 hours 49 mins",
                  "value" : 13725
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}
  

если у вас нет правильного ключа API, выполните следующие действия:

  1. Войдите в свою консоль облачной платформы Google
  2. Добавьте свой проект и добавьте API. Пожалуйста, обратите внимание, что API Distance Matrix не является бесплатным.
  3. Как только вы это сделаете, вы получите свой ключ API.

Редактировать

Если вам нужно добавить несколько путевых точек, вам нужно использовать другой API, см. документацию Maps JavaScript API Directions Service. В двух словах это то же самое, что и карта Google.

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

DirectionsResult Объект будет содержать Directions Legs (расстояние в метрах)

Комментарии:

1. 1. Что делать, если есть путевые точки? 2. Я получил Google API — какова цена при использовании / или как он вычисляет этот API матрицы расстояний?

2. Вся необходимая информация содержится в их документации: цена, как ее использовать и т.д. API DM, насколько я вижу, основан на двух точках.

3. итак, нет способа измерить расстояние на основе более чем двух точек? :O