Клуб API Карт

Много объектов на карте.

sirius.rigel
11 июля 2013, 13:24

Ставил на сайты карты, данные в которых брались динамически, из базы - но возникла ситуация, когда нужно вывести несколько сотен таких меток с балунами. Полез в Активные области http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/about-hotspots.xml - вроде бы именно то, что нужно, создать заранее все эти балуны и метки а потом выводить. Но с апи разобраться не могу - понятно что потом в этом описании все станет ясным, однако сейчас это какой-то набор буков: tileUrlTemplate - она от какого сервера отсчитывается? От своего? Но в примере используется URL, где я добросовестно заменил шаблоны: http://api.yandex.ru/examples/maps/ru/hotspot_layer/hotspot_data/9/tile_x=1&y=2 - и она отдает ошибку. Далее,  keyTemplate = 'testCallback_tile_%c', - совершенно неясно, откуда берется это C? В каком формате эти данные должны быть? 

Может кто-нибудь помочь, тыкнув носом в пример, который можно было бы скачать себе и как следует поизменять? Единственный пример в АПИ, который я нашел, скачать себя не позволил - то есть, он работает но меток не создает. 

Или я вообще не в ту сторону иду? Нужно много меток на карте одновременно, обычным способом система разрешает не больше 75...

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

Несколько сотен меток можно отобразить при помощи кластеризатора,

Про активные области можно прочитать в руководстве разработчика

Я читал - но информация не складывается, не работает то, что я вычитываю оттуда. Привел точки, в которых, возможно, я что-то не понимаю - если понимаете, объясните, пожалуйста.

Можете послушать доклад Алексея Емелина об активных областях: http://events.yandex.ru/events/yasubbotnik/spb-jun-2013/talks/942/

%c, %z,%x, %y апи сама подставит/

Источник данных - ваш сервер, на котором находится описание активных областей и картиночный слой.

 

Well, спасибо, то есть под mod_rewrite сделали - ладно, напишу, хотя это маразм - сначала гонять данные в URL а потом обратно - но спасибо огромное, что-то начинает проясняться.

воТо что %z,%x, %y cама подставит - это я даже выше написал, я не понял, откуда она %с возьмет...

посчитает сама

%c это x=x&y=y&z=z

Написал преобразователь, только вот что скажите - в документации http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/hotspot-area.xml  приведен пример данных: 

"data": {
"type": "FeatureCollection",
// Массив активных областей.
"features": [{
"type": "Feature",

 Это должен быть текстовый файл с таким текстом внутри? Есть ли обрамление? Теги какие-нибудь? Я ведь в яваскрипте-то не очень, больше по базам данных...

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

Два вопроса у меня определилось: во-первых, в документации написано, что скрипт передаст имя функции, в которую нужно оборачивать результат, в URL-пфрфметре callback - а он у меня пустой. Я не случайно вчера спрашивал про %с, вот он, похпже, сам и не определяется...

Во-вторых, в примере http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/hotspot-layer.xml два URL = один  var tileUrlTemplate = 'examples/maps/ru/hotspot_layer/hotspot_data/%z/tile_x=%x&y=%y', его я как раз и рассматриваю и в нем имя функции ищу, а второй - imgUrlTemplate = 'examples/maps/ru/hotspot_layer/images/%z/tile_x=%x&y=%y.png', и вот что это такое нигде в документации не нахожу. Откуда там png? Я его должен на лету создавать? Может быть, выполнение останавливается потому, что там у меня ничего нет? НЕльзя лт все-таки пример, который можно было бы потрошить на моем сервере и который бы работал - а то очень много непонятного.

 

 

Конечно нужно генерить png,

можно на лету, а можно генерить и отдавать статику.

Примеров нет. т.к. это исключительно серверная часть и ее можно написать на чем угодно.

Попробуйте попотрошить сначала пример из песочницы. http://api.yandex.ru/maps/jsbox/hotspot_layer

Откройте там инструменты разработчика и посмотрите, какие файлы по каким url подгружаются. Думаю, станет понятнее.

Так я его и потрошу - только вот его нельзя получить к себе и запускать на своем сервере. А без этого информации недостаточно и я не понимаю, как это работает. А с более простыми разобрался легко...