По умолчанию все объекты на карте выводятся самым простым способом — с помощью geoQuery, что равносильно ручному созданию объектов используя new ymaps.Placemark(...)
, new ymaps.Polygon(...)
и т.д.
Если хочется вывести объекты по своей логике, то нужно:
1. Добавить в рендер массив элемента/темы параметр '#map_without_objects' => TRUE
.
Пример для Views:
/**
* Preprocess function for theme_views_view().
*/
function modulename_preprocess_views_view(&$vars) {
if ($vars['view']->name == 'my_view_name' && $vars['view']->current_display == 'page') {
$vars['rows']['#map_without_objects'] = TRUE;
drupal_add_js(drupal_get_path('module', 'modulename') . '/modulename.js');
}
}
2. В Js навесить свою функцию на событие yandexMapInit
и вывести объекты нужным способом:
(function ($) {
Drupal.behaviors.modulename = {
attach: function (context, settings) {
$('#идентификатор-карты', context).once().bind('yandexMapInit', function (event, map) {
// Получаем список объектов в GeoJson
var objects = $(this).data('map-objects');
// Выводим объекты
$.each(objects.features, function () {
var placemark = new ymaps.Placemark(this.geometry.coordinates);
map.geoObjects.add(placemark);
});
// Центрируем карту
Drupal.geofieldYmap.autoCentering(map);
Drupal.geofieldYmap.autoZooming(map);
});
}
};
})(jQuery);
Написанное актуально для
Geofield Yandex Maps 7.x-1.x
Похожие записи
- Заменить иконки объектов на свои изображения (Geofield Yandex Maps)
- Модуль Geofield Yandex Maps — ввод и вывод гео-информации на Яндекс.Картах 2.1
- Модуль DataTables — шустрые javascript таблицы с помощью Views
- Модуль Geolocation Views — вывод данных на карте Google по данным из Geolocation Field
- Вывести на одной карте несколько точек по данным из Geolocation Field с помощью OpenLayers
Комментарии
что теоретически дает возможность попробовать http://habrahabr.ru/company/yandex/blog/243665/
?
да
Добрый день. Не подскажете, а как вывести иконки в данном скрипте, созданные во views, со всеми параметрами, т.е. всплывающие окна, цвет и т.д.
var placemark = new ymaps.Placemark(this.geometry.coordinates);
данный скрипт выводит дефолтные пустые иконки
что за иконки?
ну, иконки объектов. балуны)
ОРГОМНОЕ СПАСИБО. Прикрутил с помощью данного скрипта вывод через модуль PieChartClusterer.
Добавить комментарий