Клуб API Карт

Ссылка на метку на общей или отдельной карте?

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

Всем привет!

появилась такая потребность: сделал общую карту с 300 точками с помощью YMapsML. Есть каталог с описанием всех этих объектов (каталог компаний), в нем есть ссылка "посмотреть на карте". Необходимо что бы пользователь смотря страницу с компанией, например, №12 и при переходе "посмотреть на карте" видел на ней только одну метку с координатами - №12. Можно это как то реализовать уже на имеющийся общей карте? Или нужно делать отдельную?

4 комментария
Можно отфильтровать необходимые объекты.

Приведу пример. При загрузке YMapsML-документа будут отображаться только "гостиницы".
// Загружаемый YMapsML-документ
var ml = new YMaps.YMapsML('http://api.yandex.ru/maps/ymapsml/examples/xml/parentstyleobject.xml');

// Обработчик успешной загрузки YMapsML
YMaps.Events.observe(ml, ml.Events.Load, function () {
    // Отбираем все гостиницы
    // Можно ориентироваться на другие параметры
    var filter = this.filter(function (obj) {
        return obj.name == 'Гостиница';
    });
   
    // Создаем группу и добавляем туда отфильтрованные объекты
    var group = new YMaps.GeoObjectCollection();
    group.add(filter);
   
    // Добавляем группу на карту
    map.addOverlay(group);
});

Лучше всего, конечно, один раз загрузить YMapsML-документ, а при щелчках на ссылках "посмотреть на карте" фильтровать объекты, удалять старые и добавлять новые.
Если я правильно понял, то этот вариант подходит для выделения каких-либо групп объектов? Но мне необходимо показывать просто 1 объект по ссылке, как здесь: http://api.yandex.ru/maps/ymapsml/examples/simpleobject.html

В идеале было бы просто вставлять на страницу ссылку вида http://www.сайт.ru/map/?id=12 ,где 12 - номер объекта на карте

Можно такое как-нибудь сделать?
Конечно, можно.
Я продемонстрировал на группе, но можно, конечно, и один объект находить.

Например, если у каждого объекта прописан уникальный id, то будет найден только один объект.

Я сделал небольшой пример. Если не передавать параметров, то будут отображены все объекты, а если передать id, то будет отображен лишь один объект.
Спасибо, буду разбираться