Подтвердить что ты не робот

Получить города-остановки, используя API Карт Google (направления)

Я новичок в Google Maps API (3.0). Я хотел бы получить остановки городов на основе запроса направления к API Карт и не нашел никакой документации по этой конкретной теме до сих пор.

https://developers.google.com/maps/documentation/javascript/directions#Steps

Я получаю направление на основе адреса A и адреса B. Я хотел бы знать каждый город, который пользователь пересечет во время своего путешествия. Я нашел некоторую информацию о путевых точках (остановках), но они относятся к каждой остановке или смене улицы. Я не смог найти ни одного основного объекта до сих пор...

4b9b3361

Ответ 1

Что я буду делать:

  • Используйте RouteBoxer, чтобы найти границы, содержащие маршрут (довольно маленькие)
  • Используйте API-интерфейс Places, чтобы возвращать места types city_hall, local_government_office или библиотеки (возможно, немного настройте этот выбор) внутри этих границ,
  • Извлеките данные города из этих ответов, отсортируйте их для получения уникальных результатов, затем используйте их.

Доказательство концепции, потребует настройки для типов местоположений, расстояния и области, где вы выполняете поиск. В зависимости от использования и длины маршрута, возможно, лучше использовать обратный геокодер в точках через некоторый регулярный интервал вдоль дороги (100 метров или 1000 метров), что может быть более быстрым и не будет использовать API-интерфейс Places квота.

Ответ 2

Я нашел альтернативное решение для этого. Мы можем получить основные города, используя две точки, используя   Here Maps Android Guide или Здесь запрос API Карт. Я использовал запрос API

Возвращает долготу и широту основных городов в ответе API. Исходя из этих данных, мы можем использовать Google API Geocoder, чтобы найти названия городов

Здесь URL запроса API карт будет выглядеть следующим образом:

https://route.api.here.com/routing/7.2/calculateroute.json ?app_id={YOUR_APP_ID} &app_code={YOUR_APP_CODE} &waypoint0=geo!52.5,13.4 &waypoint1=geo!52.5,13.45 &mode=fastest;car;traffic:disabled

Ответ: (маршрут [0].leg [0]. маневр содержит основные шрифты)

{
"response": {
    "metaInfo": {
        "timestamp": "2019-08-25T11:32:54Z",
        "mapVersion": "8.30.99.156",
        "moduleVersion": "7.2.201933-4954",
        "interfaceVersion": "2.6.66",
        "availableMapVersion": [
            "8.30.99.156"
        ]
    },
    "route": [
        {
            "waypoint": [
                {
                    "linkId": "+842950268",
                    "mappedPosition": {
                        "latitude": 7.6005434,
                        "longitude": 80.0758708
                    },
                    "originalPosition": {
                        "latitude": 7.5999999,
                        "longitude": 80.0769999
                    },
                    "type": "stopOver",
                    "spot": 0.4595336,
                    "sideOfStreet": "neither",
                    "mappedRoadName": "Kuliyapitiya-Hettipola Road",
                    "label": "Kuliyapitiya-Hettipola Road - B243",
                    "shapeIndex": 0,
                    "source": "user"
                },
                {
                    "linkId": "-843192951",
                    "mappedPosition": {
                        "latitude": 7.4799508,
                        "longitude": 80.3700687
                    },
                    "originalPosition": {
                        "latitude": 7.48,
                        "longitude": 80.3699999
                    },
                    "type": "stopOver",
                    "spot": 0.3064516,
                    "sideOfStreet": "right",
                    "mappedRoadName": "",
                    "label": "",
                    "shapeIndex": 313,
                    "source": "user"
                }
            ],
            "mode": {
                "type": "fastest",
                "transportModes": [
                    "car"
                ],
                "trafficMode": "disabled",
                "feature": []
            },
            "leg": [
                {
                    "start": {
                        "linkId": "+842950268",
                        "mappedPosition": {
                            "latitude": 7.6005434,
                            "longitude": 80.0758708
                        },
                        "originalPosition": {
                            "latitude": 7.5999999,
                            "longitude": 80.0769999
                        },
                        "type": "stopOver",
                        "spot": 0.4595336,
                        "sideOfStreet": "neither",
                        "mappedRoadName": "Kuliyapitiya-Hettipola Road",
                        "label": "Kuliyapitiya-Hettipola Road - B243",
                        "shapeIndex": 0,
                        "source": "user"
                    },
                    "end": {
                        "linkId": "-843192951",
                        "mappedPosition": {
                            "latitude": 7.4799508,
                            "longitude": 80.3700687
                        },
                        "originalPosition": {
                            "latitude": 7.48,
                            "longitude": 80.3699999
                        },
                        "type": "stopOver",
                        "spot": 0.3064516,
                        "sideOfStreet": "right",
                        "mappedRoadName": "",
                        "label": "",
                        "shapeIndex": 313,
                        "source": "user"
                    },
                    "length": 40642,
                    "travelTime": 2159,
                    "maneuver": [
                        {
                            "position": {
                                "latitude": 7.6005434,
                                "longitude": 80.0758708
                            },
                            "instruction": "Head <span class=\"heading\">northeast</span> on <span class=\"street\">Kuliyapitiya-Hettipola Road</span> <span class=\"number\">(B243)</span>. <span class=\"distance-description\">Go for <span class=\"length\">604 m</span>.</span>",
                            "travelTime": 52,
                            "length": 604,
                            "id": "M1",
                            "_type": "PrivateTransportManeuverType"
                        },
                        {
                            "position": {
                                "latitude": 7.6054466,
                                "longitude": 80.0782084
                            },
                            "instruction": "Turn <span class=\"direction\">right</span> onto <span class=\"next-street\">Wariyapola-Hettipola Road</span> <span class=\"number\">(B079)</span>. <span class=\"distance-description\">Go for <span class=\"length\">18.9 km</span>.</span>",
                            "travelTime": 910,
                            "length": 18937,
                            "id": "M2",
                            "_type": "PrivateTransportManeuverType"
                        },
                        {
                            "position": {
                                "latitude": 7.6197481,
                                "longitude": 80.2457178
                            },
                            "instruction": "Turn <span class=\"direction\">left</span> onto <span class=\"next-street\">Wariyapola-Hettipola Road</span> <span class=\"number\">(B079)</span>. <span class=\"distance-description\">Go for <span class=\"length\">25 m</span>.</span>",
                            "travelTime": 5,
                            "length": 25,
                            "id": "M3",
                            "_type": "PrivateTransportManeuverType"
                        },
                        {
                            "position": {
                                "latitude": 7.6198554,
                                "longitude": 80.2459216
                            },
                            "instruction": "Take the <span class=\"exit\">3rd exit</span> from Wariyapola Roundabout roundabout onto <span class=\"next-street\">Kurunegala-Padeniya Road</span> <span class=\"number\">(AA010)</span>. <span class=\"distance-description\">Go for <span class=\"length\">19.6 km</span>.</span>",
                            "travelTime": 1039,
                            "length": 19569,
                            "id": "M4",
                            "_type": "PrivateTransportManeuverType"
                        },
                        {
                            "position": {
                                "latitude": 7.4887598,
                                "longitude": 80.3620291
                            },
                            "instruction": "Continue straight ahead. <span class=\"distance-description\">Go for <span class=\"length\">364 m</span>.</span>",
                            "travelTime": 36,
                            "length": 364,
                            "id": "M5",
                            "_type": "PrivateTransportManeuverType"
                        },
                        {
                            "position": {
                                "latitude": 7.4871719,
                                "longitude": 80.3648937
                            },
                            "instruction": "Take the <span class=\"exit\">2nd exit</span> from Kurunegala Roundabout roundabout. <span class=\"distance-description\">Go for <span class=\"length\">192 m</span>.</span>",
                            "travelTime": 21,
                            "length": 192,
                            "id": "M6",
                            "_type": "PrivateTransportManeuverType"
                        },
                        {
                            "position": {
                                "latitude": 7.486732,
                                "longitude": 80.3665352
                            },
                            "instruction": "Take the <span class=\"exit\">3rd exit</span> from A10 roundabout onto <span class=\"next-street\">Kandy Road</span> <span class=\"number\">(A10)</span>. <span class=\"distance-description\">Go for <span class=\"length\">880 m</span>.</span>",
                            "travelTime": 88,
                            "length": 880,
                            "id": "M7",
                            "_type": "PrivateTransportManeuverType"
                        },
                        {
                            "position": {
                                "latitude": 7.4804449,
                                "longitude": 80.3704727
                            },
                            "instruction": "Turn <span class=\"direction\">right</span>. <span class=\"distance-description\">Go for <span class=\"length\">71 m</span>.</span>",
                            "travelTime": 8,
                            "length": 71,
                            "id": "M8",
                            "_type": "PrivateTransportManeuverType"
                        },
                        {
                            "position": {
                                "latitude": 7.4799508,
                                "longitude": 80.3700687
                            },
                            "instruction": "Arrive at your destination on the right.",
                            "travelTime": 0,
                            "length": 0,
                            "id": "M9",
                            "_type": "PrivateTransportManeuverType"
                        }
                    ]
                }
            ],
            "summary": {
                "distance": 40642,
                "trafficTime": 2159,
                "baseTime": 2159,
                "flags": [
                    "builtUpArea"
                ],
                "text": "The trip takes <span class=\"length\">40.6 km</span> and <span class=\"time\">36 mins</span>.",
                "travelTime": 2159,
                "_type": "RouteSummaryType"
            }
        }
    ],
    "language": "en-us"
}

}