OpenLayers 6-自定义标记不显示
我创建了一张地图并放置了一个标记。我唯一可以使用的标记是从OpenLayers托管的标记。我在“img/marker.png”中有自己的标记,但它不显示?有什么想法吗?我尝试将其移动到根文件夹并使用“/img/marker”,但没有成功OpenLayers 6-自定义标记不显示,openlayers,markers,openlayers-6,Openlayers,Markers,Openlayers 6,我创建了一张地图并放置了一个标记。我唯一可以使用的标记是从OpenLayers托管的标记。我在“img/marker.png”中有自己的标记,但它不显示?有什么想法吗?我尝试将其移动到根文件夹并使用“/img/marker”,但没有成功 import 'ol/ol.css'; import {Map, View} from 'ol'; import TileLayer from 'ol/layer/Tile'; import OSM from 'ol/source/OSM'; import {f
import 'ol/ol.css';
import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
import {fromLonLat} from 'ol/proj';
import Feature from 'ol/Feature';
import Point from 'ol/geom/Point';
import VectorSource from 'ol/source/Vector';
import {Icon, Style} from 'ol/style';
import {Vector as VectorLayer} from 'ol/layer';
const ukCenterLonLat = [-4.5, 55];
const ukCenterWebMercator = fromLonLat(ukCenterLonLat);
const GYLonLat = [1.728, 52.5982];
const GYWebMercator = fromLonLat(GYLonLat);
const iconFeature = new Feature({
geometry: new Point(GYWebMercator), //This marker will not move.
name: 'Great Yarmouth',
});
const map = new Map({
target: 'map',
layers: [
new TileLayer({
source: new OSM()
}),
new VectorLayer({
source: new VectorSource({
features: [iconFeature]
}),
style: new Style({
image: new Icon({
anchor: [0.5, 46],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
crossOrigin: 'anonymous',
// src: "marker.png",
src: 'https://openlayers.org/en/latest/examples/data/icon.png'
})
})
})
],
view: new View({
center: ukCenterWebMercator,
zoom: 5
})
});
我尝试过很多我遇到的不同方法,但似乎没有任何方法可以解决我的问题。您是否尝试过将您的图像放置在公开的web服务器上?不,我没有尝试过,但我看到人们使用相对链接在本地引用图像。我稍后会尝试。如果我删除
交叉源:“匿名”
,这似乎对我的公共图像有效,但不确定为什么会这样(还有其他例子可以使用):