Как преобразовать поле полилиний Google Directions API в точки долготы и долготы в objective-C для iPhone?

Я хочу нарисовать маршруты на карте, соответствующие направлениям JSON, которые я получаю через Google Directions API: http://code.google.com/apis/maps/documentation/directions/

Я понял, как извлечь широту и долготу из поля шагов, однако это не очень хорошо подходит для извилистых дорог. Я думаю, что мне нужно декодировать информацию о ломаных линиях. Я нашел в Google инструкции по кодированию ломаных линий: http://code.google.com/apis/maps/documentation/utilities/polylinealgorithm.html

I здесь был найден код для Android, а также Javascript для декодирования ломаных линий, например:

Map View рисует направления с использованием Google Directions API - декодирование ломаных линий

android получает и анализирует Google Directions

Но я не могу найти То же самое для кода iPhone Objective-C, может ли кто-нибудь мне помочь с этим? Я уверен, что смогу сделать это сам, если понадобится, но это наверняка сэкономит мне время, если он уже где-то доступен ...

РЕДАКТИРОВАТЬ: ключ здесь заключается в возможности декодировать кодировку base64 для символа с помощью основа характера.Чтобы быть более конкретным, я получаю что-то вроде этого в JSON от Google, который, помимо прочего, закодирован с использованием кодировки base64:

...   "overview_polyline" : {
        "points" : "ydelDz~vpN_@NO@QEKWIYIIO?YCS@WFGBEBICCAE?G@y@RKBEBEBAD?HTpB@LALALCNEJEFSP_@LyDv@aB\\GBMB"
       },
...

Примечание: я должен упомянуть, что этот вопрос относится к Google Maps API v1, это намного проще сделать в v2 с использованием GMSPolyLine polyLineWithPath, как вам скажут многие ответы ниже (благодаря @cdescours).

45
задан Community 23 May 2017 в 12:02
поделиться