Как добавить точку геоджона на карту openlayers 3/4 и сделать ее интерактивной, чтобы открыть всплывающее окно со свойствами в ней? - PullRequest
0 голосов
/ 03 мая 2018

При использовании открытых слоев 3/4 у меня возникают проблемы при рисовании коллекции объектов, содержащей только точки. Все, что я хочу сделать, это нарисовать точку на карте и сделать так, чтобы при нажатии на нее всплывающее окно показывало и отображало те свойства, которые у него есть.

Я получаю ошибку: core.js: 1448 ОШИБКА TypeError: a.Yf не является функцией на ol.js: 152

Мой код:

let points = {
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "properties": {
            'text':'World',
            'id': 'Point 1'
        },
        "geometry": {
            "type": "Point",
            "coordinates": [somecoords]
        }
    }]
};

var thepoint = new ol.source.Vector({
    title: 'Hello Point',
    features: (new ol.format.GeoJSON()).readFeatures(points)
  });

  map.addLayer(thepoint);

В чем проблема? Как я могу сделать это? Ошибка не совсем ясна.

1 Ответ

0 голосов
/ 03 мая 2018

Ваше сообщение не содержит достаточно информации о ваших координатах. Пример jsfiddle, показывающий проблему, значительно облегчает решение этих проблем.

Я предлагаю следовать примеру geoJSON:

https://openlayers.org/en/latest/examples/geojson.html

Обратите особое внимание на проекцию карты, если ваш geoJSON указан правильно и вы не видите точек на карте, ваша проекция, скорее всего, неверна для используемых координат:

https://openlayers.org/en/latest/doc/faq.html#how-do-i-change-the-projection-of-my-map-

При выборе см. Этот документ:

Пример выбора здесь https://openlayers.org/en/latest/examples/select-features.html

...