Добавьте простые маркеры / точки с OpenLayers - PullRequest
0 голосов
/ 16 января 2019

Я целый день искал, как разместить список (массив) маркеров в OSM / OpenLayers, но, к сожалению, официальный пример не сработает для меня. Не могли бы вы показать мне лучший способ показать карту, а затем добавить в нее массив координат с помощью пользовательского значка маркера PNG?

Я использую OpenLayers 5.

1 Ответ

0 голосов
/ 16 января 2019

Самый простой способ отметить массив координат - использовать массив в геометрии MultiPoint. Если координаты LonLat, геометрию необходимо преобразовать в координаты карты:

  var iconFeature = new ol.Feature({
    geometry: new ol.geom.MultiPoint([[-90, 0], [-45, 45], [0, 0], [45, -45], [90, 0]]).transform('EPSG:4326','EPSG:3857'),
    name: 'Null Islands',
    population: 4000,
    rainfall: 500
  });

Значки по умолчанию будут отображаться в натуральном размере изображения, но вы можете изменить это, установив параметр масштаба:

  var iconStyle = new ol.style.Style({
    image: new ol.style.Icon(/** @type {module:ol/style/Icon~Options} */ ({
      anchor: [0.5, 46],
      anchorXUnits: 'fraction',
      anchorYUnits: 'pixels',
      src: 'https://openlayers.org/en/v5.3.0/examples/data/icon.png',
      scale: 0.5
    }))
  });

http://mikenunn.16mb.com/demo/OL_5.3.0_multi-icon.html

...