我一直在寻找有关如何在 OSM/OpenLayers 上放置标记列表(数组)的一天,但不幸的是,官方示例对我不起作用。您能告诉我显示地图的最佳方式,然后使用自定义 PNG 标记图标将其添加到坐标数组吗?
我正在使用 OpenLayers 5。
我一直在寻找有关如何在 OSM/OpenLayers 上放置标记列表(数组)的一天,但不幸的是,官方示例对我不起作用。您能告诉我显示地图的最佳方式,然后使用自定义 PNG 标记图标将其添加到坐标数组吗?
我正在使用 OpenLayers 5。
标记坐标数组的最简单方法是在 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
}))
});