Suite

Déplacer le polygone du dépliant à la position donnée


J'ai un cercle et un polygone que j'aimerais déplacer vers la position locale de l'utilisateur. J'ai réussi à déplacer le cercle latLng mais je ne trouve pas le moyen de faire la même chose avec un polygone.

Quelqu'un peut-il m'aider s'il vous plait ?


Sur la base de ce que suggère @ghybs, voici du javascript pour obtenir une position d'utilisateur et traduire un polygone (dans ce cas un triangle) à centrer sur la position de l'utilisateur

Violon ici

var map = L.map('map').setView([0,0], 5); L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png">

Vous savez qu'un cercle dans Leaflet est défini par une unique coordonnée LatLng + rayon, alors qu'un polygone est composé de plusieurs coordonnées LatLng.

C'est pourquoi il est trivial de dire « le cercle est à cette LatLng position". Et il est trivial de centrer ce cercle sur une position d'utilisateur.

Mais il nous reste beaucoup d'options pour le polygone : comment devons-nous calculer sa "position", puisqu'elle est définie par beaucoup Coordonnées LatLng ?

Si votre polygone est déjà défini autour de la position [0, 0], alors vous pouvez traduire tous ses sommets (c'est-à-dire toutes ses coordonnées LatLng) par la position de l'utilisateur.

Sinon, vous devez choisir un "centre" (le plus trivial serait le barycentre / centroïde de ses sommets), afin de pouvoir calculer la différence avec la position de l'utilisateur, puis translater tous les sommets du polygone comme ci-dessus par cette différence.


Voir la vidéo: Tutoriel Ms Publisher. Création dépliant 3 volets recto-verso 13 (Octobre 2021).