Клуб API Карт

Параметры в URL панорамы

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

Возможно, кому-то пригодится. Сам потратил вагон времени, чтобы разобраться.

Если "гулять" по панораме и воспользоваться функцией "ссылка на карту -- дополнительно", получаем URL вида

 

http://maps.yandex.ru/?ll=30.174395%2C59.829455&spn=0.108662%2C0.010673&z=14&l=map%2Cstv&ol=stv&oll=30.174946%2C59.833053&ost=dir%3A-79.285137%2C3.266544~spn%3A90%2C43.571604

Но встречаются и другие комбинации. Значимыми являются параметры:

  • ll - координаты бинокля на карте в формате /-?\d{1,3}\.\d{6}/ на каждую из координат
  • spn - при указании z является необязательным параметром, иначе задается размер отображаемого участка карты в протяженности по широте и долготе
  • z - зум карты от 0 до 17, по-умолчанию 14, формат /\d{1,2}/
  • l - задает слои карты: "map|sat|sat,skl" для "карта|спутник|гибрид" соответственно, дополнительно "stv" означает вызов панорамы
  • ol - со значением, равным "stv", открывает слой панорамы
  • oll - координаты камеры панорамы в формате /-?\d{1,3}\.\d{6}/ на каждую из координат, в общем случае соврадают с ll
  • ost dir первым числом в формате /-?\d{1,3}\.\d{6}/ задает азимут камеры, вторым числом в формате /-?\d{1,2}\.\d{6}/ угол к горизонту
  • ost spn - зум камеры задается через размер в градусах отображаемой области панорамы по ширине и высоте.
К сожалению, способа задать зум камеры указанием целого числа - не существует.
15 комментариев
спасибо, но даже здесь не объясняется параметр ost spn
Есть предложение: для карты параметры z и spn являются взаимозаменяющими, так вот нужен такой же взаимозаменяющий параметр для параметра ost spn, в формате целого числа
spn зависит от размера карты, z не зависит. Параметр ost сам по себе необязателен. Добавлять параметр z для панорамы не планируется.
тогда объясните, может, почему ost spn ("труба", зум панорамы) имея строго четыре варианта значения, использует столь неудобоваримые представления этих значений?
spn представляет собой размер области просмотра в градусах, нас это вполне устраивает.
все это здорово, но почему, стоит только ввести вместо 77.319617%2C44.92854, допустим 77.123456%2C44.654321, и панорама откроется так, будто параметр был не указан вовсе?
У меня такого не наблюдается. Пришлите две ссылки, посмотрим.
Вы правы! Сегодня, на свежую голову - сам не смог повторить этот глюк... Похоже, вчера я пытался вместо пары значений "ширина-высота" передать единственное, что неправильно.
Измените размер окна, и убедитесь, что значения spn не фиксированы.
по поводу "необязательности" параметра: для моей задачи он как раз обязателен, мне требуется восстановить состояние панорамы в точности таким, каким его настроит оператор
Интересно, каким образом он его настраивает.
"гуляет" по панораме, затем нажимает "ссылка на карту", а там - "дополнительно", копирует в буфер и вставляет в форму. вот только как оказалось, формат ссылки не гарантирован, и чтобы выцепить интересующие параметры, приходится делать разбор. дабы потом при восстановлении панорамы конечным пользователем не вылезали всякие фокусы, типа использованной поисковой строки адреса.

в общем, и с тем, что есть - работать вполне можно. и за внимание - спасибо. жаль, что нельзя сделать чуточку удобнее.
разбор полученного URL делается еще и с прицелом на будущее: когда API для панорам появится, у нас в базе уже будут готовые значения для вызываемых функций.
А что у вас за проект? Если не секрет.