7 / 7 / 5
Регистрация: 08.01.2013
Сообщений: 544
1

OpenLayers.Map добавление полигонов и обработка событий

26.03.2018, 11:27. Показов 1191. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добры день!
Загружаю полигоны на карту следующим образам.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    var osMap = new OpenLayers.Map("lease_map");
    var layer = new OpenLayers.Layer.Vector('layer1');
    osMap.addLayer(layer);
    var a = JSON.parse(distPolygon);
    a.forEach(function (e) {
        var featuress = Array();
        for (var i = 0; i < e.geometry.length; i++) {
            var point0 = new OpenLayers.Geometry.Point(e.geometry[i][0], e.geometry[i][1]);
            point0.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
            featuress.push(point0);
        }
        var linearRing2 = new OpenLayers.Geometry.LinearRing(featuress);
        var polygonFeature2 = new OpenLayers.Feature.Vector(
            new OpenLayers.Geometry.Polygon([linearRing2]),
            {
                label: e.district,
                PolyID: e.id
            });
        layer.addFeatures(polygonFeature2);
    });
Необходимо повесить обработку событий для отслеживания движения мыши а так же нажатия и двойного нажатия.
Для определения над каким из полигонов находится мышь - что бы отобразить всплывающую подсказку над этим полигонам.
При нажатии - определить на какой полигон нажали для дальнейшей обработки.
При двойном - установить маркер и запустить дальнейшую обработку.

Для обработки двойного клика использовал
Javascript
1
2
3
4
5
6
7
8
    var dblclick = new OpenLayers.Handler.Click(this, {
        dblclick: function (e) {
            db_click('double', this, e);
            return false;
        }
    }, {single: true, 'double': true, stopSingle: true, stopDouble: true});
    dblclick.setMap(osMap);
    dblclick.activate();
По всем примерам что находил в переменной e. должен быть объект e.feature однако он не определен...

Может как-то не так делаю ????
Да,поликоны загружаю с сервера асинхронно, уже после отрисовки карты...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2018, 11:27
Ответы с готовыми решениями:

Обработка событий. Механизм делегирования событий
Разработать учебную программу. Основная ее задача – разработка упрощенной имитации поведения...

добавление в map
Добрый день Задача такая, я считываю из бд данные и сохраняю их в map&lt;string, int&gt;. map хранит, в...

Добавление элементов в Map
Всем привет! Не так давно начал изучать Джаву и столкнулся с проблемой - добавление элементов в...

Map. Добавление в конец
Ребята помогите разобраться пытаюсь в map засунуть &lt;string ,string&gt;. Вот такие значения допустим:...

0
26.03.2018, 11:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2018, 11:27
Помогаю со студенческими работами здесь

Добавление класса в контейнер map
Привет. Писал ранее код по записи сотрудников в файл. Только после удаления какого-то приходилось...

list<map> добавление элемента
Подскажите пожалуйста, как добавить элемент в list&lt;map&gt;. Заранее спасибо.

Добавление Google Map в Xpages
Здравствуйте. Скажите, а кто-нибудь пробовал добавлять Google Map в XPages? поделитесь, пожалуйста,...

Добавление своего типа данных в map
Приветствую всех. Сделал тестовый пример: class A { public: A() { cout &lt;&lt; &quot;A() &quot; &lt;&lt; endl; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru