Клуб API Карт

Правила формирования urlTemplate для RemoteObjectManager

mabpppp
4 февраля 2015, 14:21

Здравствуйте. Столкнулся с проблемой при формировании urlTemplate для RemoteObjectManager. В документации сказано, что поддерживаются специальные конструкции по аналогии с Layer и "%b" с "%t". В документации по Layer есть список поддерживаемых конструкций, некоторые из которых в таком виде (например, "%x") не работают. Можно ли где-то посмотреть полный список доступных конструкций? Можно ли использовать конструкции наподобие "%b_%x[0]" для доступа к координате Х левого нижнего угла карты?

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

Добрый день, вы не могли бы дать ссылку на страницу или стенд, где не работает подстановка %x?

Здравствуйте еще раз. Извините за долгое ожидание. Пример на jsfiddle. Если посмотреть отправляемые запросы, то строка параметров будет в духе:

bounds=0.0000,-45.0000,79.2421,135.0000&tiles=3,1,6,3&xCoord=%x&yCoord=%y&zoom=3&callback=remoteObjectManagerCallback

Дело в том, что по умолчанию RemoteObjectManager работает в режиме splitRequests=false

Это означает, что он находит на карте большие области, для которых не загружены данные, и делает за ними запрос.

Поскольку область может состоять из нескольких тайлов, в контексте такого запроса параметр %x и %y не имеют смысла (потому что это спецпараметры, которые заменяются на номер какого-то одного конкретного тайла, а у нас область).

Чтобы узнать номера тайлов в режиме splitRequests=false, нужно работать с параметром tiles.

Спасибо за ответ. После чтения документации сложилось неверное впечатление, что все конструкции, описанные в Layer, должны хоть как-то отрабатывать в RemoteObjectManager, вне зависимости от значения параметра splitRequests. Хотя, для массива тайлов координата х и не имеет смысла. 

Опишем этот момент подробнее)