Клуб API Карт

Ссылка на карту

Пост в архиве.

Приветствую.

Сейчас формирую ссылку на карту простым добавлением параметров(центр карты, масштаб и т.д.), получается довольно длинная ссылка. А как сделать как на яндексе, вроде такой http://maps.yandex.ru/-/CBdyUL~L ?

8 комментариев

Генерить короткие урлы и хранить их соотвествие в БД.

Александр Новиков
28 января 2016, 05:27
Присоединюсь к предыдущему оратору :)
Как вариант можно придумать некоторый алгоритм упаковки всех данных в такую короткую форму. Но это если вообще с базой заморачиваться не хочется...

В том то и вопрос: что за алгоритм?:-)

И вообще интересно, как сделано это на яндексе? 

Александр Новиков
28 января 2016, 05:27
Думаю что у Яндекса сделано через базу.
Т.е. в базу пишется длинный URL, а в ссылке указывается идентификатор этой записи.

Если не с базой... то например пишем координаты центра и масштаб в виде одного числа.

Например 40,3456 67,2345 и 10 пишем как 40345667234510 и это большое число переводим в другую систему счисления по базе 64 например ( с использованием букв и цифр)
И потом соответсвенно разворачиваем все обратно...

Но с базой явно будет проще...

упрощенно - это отдельный http-сервис 

с двумя методами получить токен по урлу

и получить урл по токену.

на сервере - база, алгоритм - md5

если делать короткие УРЛ, то в базе можно и не урл хранить, а уже готовый набор параметров в нужном формате, и ключем для него какой-нить хэш делать - его в УРЛ и использовать.

простая передача в урле координат центра карты ломает все планы по хранению параметров и краткости урла )

при чем тут координаты центра карты и как они отличаются от других координат? и почему "ломает"?