Maison > Questions et réponses > le corps du texte
Je suis actuellement en train de créer une application cartographique. J'ai essayé toutes les méthodes que j'ai trouvées sur Internet pour ajouter le balisage, mais cela ne fonctionne toujours pas. Est-ce que j'ai fait quelque chose de mal?
Voici mon code angulaire :
D'une manière ou d'une autre, il est beaucoup plus facile d'utiliser Leaflet, mais je ne veux pas abandonner si tôt 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" }) } }
P粉1419112442023-09-13 17:31:16
peux-tu essayer cet exemple de 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' }); } }