当前正在构建一个地图应用。尝试在互联网上找到的所有方法来添加标记,但仍然不起作用。我是不是做错了什么?
这是我的Angular代码:
不知何故,使用Leaflet要容易得多,但我不想那么早就放弃Open Layers。
export class MapComponent implements OnInit{
map! : Map;
marker! :any;
center = fromLonLat([5.5697, 50.6330]);
iconFeature = new Feature({
geometry : new Point(fromLonLat([5.5697, 50.6330]))
})
ngOnInit(): void {
this.map = new Map({
view : new View({
center : this.center,
zoom : 0
}),
layers : [
new LayerVector({
source : new SourceVector({
features : [this.iconFeature]
}),
style : new Style({
image : new Icon({
anchor : [0.5, 46],
src : '../assets/istockphoto-1153114937-2048x2048-removebg-preview.png'
})
})
}),
new TileLayer({
source : new OSM()
})
],
target : "map"
})
}
} Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
can u try this example of code
import { Map, View } from 'ol'; import { Tile as TileLayer, Vector as LayerVector } from 'ol/layer'; import { OSM, Vector as SourceVector } from 'ol/source'; import Feature from 'ol/Feature'; import Point from 'ol/geom/Point'; import { fromLonLat } from 'ol/proj'; import { Icon, Style } from 'ol/style'; export class MapComponent implements OnInit{ map!: Map; center = fromLonLat([5.5697, 50.6330]); ngOnInit(): void { const marker = new Feature({ geometry: new Point(fromLonLat([5.5697, 50.6330])) }); const markerLayer = new LayerVector({ source: new SourceVector({ features: [marker] }), style: new Style({ image: new Icon({ anchor: [0.5, 1], src: '../assets/istockphoto-1153114937-2048x2048-removebg-preview.png' }) }) }); this.map = new Map({ view: new View({ center: this.center, zoom: 0 }), layers: [ new TileLayer({ source: new OSM() }), markerLayer ], target: 'map' }); } }