Google Static Map API - длинный URL - PullRequest
4 голосов
/ 30 марта 2011

Я генерирую URL для вызова API статической карты Google, но иногда мой URL-адрес очень длинный (> 2048). Как я могу решить это?

Ответы [ 4 ]

6 голосов
/ 15 августа 2013

Вы можете закодировать ваши полилинии и сделать их короче.

Вот пример, который может помочь вам как сократить ваши полилинии

Я использую библиотеку php для сокращения длины вот ссылка на библиотеку https://github.com/danmandle/encoded-polyline-stitcher

если вы используете эту библиотеку

(51.838245,-111.834991|51.833179,-111.83503|51.831007022306,-111.8232751234|51.838244686875,-111.82327418214)  =  (atk{HtwqiTt^FpLmhAgl@)

Здесь важно отметить, что если вы используете короткий URL, вы должны использовать "enc:" ключевое слово

(fillcolor:0xAA000033|color:0xFFFFFF00|51.838245,-111.834991|51.833179,-111.83503|51.831007022306,-111.8232751234|51.838244686875,-111.82327418214)  =   (fillcolor:0xAA000033|color:0xFFFFFF00|enc:atk{HtwqiTt^FpLmhAgl@)

Библиотека доступна и для других языков, если вы не используете php.

Я надеюсь, что это помогает другим

3 голосов
/ 03 апреля 2012

Если ваш URL-адрес содержит полилинии, вы можете закодировать их и сделать их намного короче. Вот объяснение Google, вам нужно будет найти реализацию на любом языке, который вы используете.

https://developers.google.com/maps/documentation/utilities/polylineutility

3 голосов
/ 30 марта 2011

Вы не можете ничего сделать, если URL слишком длинный. Это дизайн веб-браузера.

См. Этот вопрос ограничение URL

Если API статических карт не помогает вам в решении вашей задачи, вы можете взглянуть на другие API Карт Google

2 голосов
/ 13 сентября 2016

Недавно, в августе 2016 года, ограничение URL-адреса было изменено до 8192 символов.

https://developers.google.com/maps/documentation/static-maps/intro#url-size-restriction

...