Получить все точки местоположения GPS данного маршрута (PHP) - PullRequest
0 голосов
/ 26 мая 2018

Я искал способ получить все GPS-координаты данного маршрута без , используя библиотеку JS Google maps, поскольку я хотел получить данные на стороне сервера.

Итак, я понял это, и отправил решение как ответ .Надеюсь, что это будет полезно для кого-то:)

Ура !!

1 Ответ

0 голосов
/ 26 мая 2018

Используя Google Directions API, вы можете получить "Overview_polyline" маршрута.И через полилинейный декодер вы можете получить все GPS-координаты на данном маршруте.

Пример ссылки: - https://maps.googleapis.com/maps/api/directions/json?origin=Panadura&destination=Moratuwa&key=YOUR_KEY

выше ссылка вернет все шаги в виде ответа json и наВ конце ответа есть элемент с именем "Overview_polyline";

Пример ответа: -

"overview_polyline": {
            "points": "_p_h@ilzfNQtAWOiAk@c@OeAJgBn@eAj@cAf@wChBo@f@OXGf@GLKFWFBz@TlAJj@b@jARt@Hv@R`BRdANx@LZz@fBv@tAb@n@Zt@d@pAd@rADNH`@Vn@TV`@ZtAlAf@x@Jh@@^?zAQhBWrBMrBAl@G~@Mr@On@s@`BU|AKxAHv@Az@KjBi@~DEp@Dl@@h@A\\GtAF`@Vd@FZAl@KhAE\\f@Xf@^RVP^?v@MrASfECzD?fCCpC@La@BiAFoAFmCPoBPuCb@_ARcAVy@Xo@\\_At@uAnA}AnAOLABCBA@]|@Ib@Gx@UlDCdBWnGQpCHj@BJ@BBFALEDYvBWdAM\\k@xAs@pAs@dAi@n@oBjBoAbA}@h@SHaL|CiWnHgLzCuD`A{Cl@aKlB_BX{A^kFvA}@XyEfBoBr@uBv@gDnA{E|A{GrBmHdBmD|@aIzBkBf@mCj@sB^{Ch@mCh@yD|@}GjB_EnAoDbAoCp@oDz@cDx@gDv@gIhBoB^cALuAN}ALmCLeDDaGAoB@iBHaEZyBX{Fp@eFl@uAJeBDgA?kACaAGkAMyAYeBa@cCy@wHqCwAa@mEs@mC_@{CUmIc@oCIw@IsAW}Bc@IBK?IEGK?KBK\\[JOV{@p@yC?u@K_BSsBCk@?iCFm@@QEs@GYS[K[A]B]As@K_A?oA@cA"
        },

, используя полилинийный декодер, вы можете получить все координаты GPS.В интернете есть несколько полилинейных декодеров.

Вот некоторые из них,

  1. Javascript: https://github.com/mapbox/polyline
  2. PHP: https://github.com/dyaaj/polyline-encoder
  3. Карты Google: https://developers.google.com/maps/documentation/utilities/polylineutility

Обязательно замените \\ (двойной обратный слеш) на \ (одиночный обратный слэш) в строке ломаной линии.

, если вы все еще хотите получать очки в соответствии с определенным расстоянием(пример: 200 м) вы можете написать код для измерения расстояния в соседних точках и создать массив точек, удалив ненужные точки.

...