Bonjour,
J'aimerais savoir s'il est possible d'ajouter un marqueur sur la carte suite à un click et de récupérer les coordonnées associées. Mon projet est en angular 4.
Pour l'intégration du sdk (https://geoservices.ign.fr/documenta...n_web/sdk.html), j'ai du le modifier pour qu'il puisse fonctionner avec mon environnement (lien des images css).
En regardant sur la doc, la seule piste que j'ai trouvé est la propriété "mapEventsOptions " dans la propriétée "mapOptions ". Sauf qu'elle ne prends en compte que certaines actions (mapLoaded, geolocated, etc...). J'ai vu aussi sur le retour de la fonction Gp.Map.Load, une propriété "_registerEvent" qui permet d'ajouter un event mais il faut lui fournir un context. J'ai testé de faire un " this.map._registerEvent("click", this.map, function(e) {});" sans succés.
Voici le code que j'utilise actuellement dans un fichier .ts
La partie markersOptions me permet pour le moment d'ajouter un marker "fixe" grâce à des coordonnées fournies par l'utilisateur. A terme je voudrais remplacer cette partie avec un marker dynamique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 this.map = Gp.Map.load( "map", { apiKey: environment.geoportalApiKey, center: { x: Number(this.coordinates.x), y: Number(this.coordinates.y), projection: "CRS:84" }, zoom: 10, // layers to display layersOptions: { "BU.Building": {}, "CADASTRALPARCELS.PARCELS": {}, "ORTHOIMAGERY.ORTHOPHOTOS": {}, "GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD": { } }, controlsOptions: { "search": { maximised: true }, "layerSwitcher": {}, "reversesearch": {}, "mouseposition": {}, "selectable": {} }, markersOptions: [{ position: { x: Number(this.coordinates.x), y: Number(this.coordinates.y), projection: "CRS:84" } }] } );
Merci d'avance pour votre aide
Partager