2017-03-05 4 views
1

J'ai une question simple. Je voulais dessiner un google.maps.Polygon autour de google.maps.Polyline. Je l'ai mis en œuvre en mélangeant les solutions mentionnées dans How to draw a polygon around a polyline in JavaScript?. Ma question concerne la largeur du tampon. Si vous regardez l'exemple dans https://coderwall.com/p/zb_zdw/buffered-polyline vous pouvez voir que le tampon est plus large lorsque la polyligne est horizontale. Lorsque la ligne est le tampon vertical est plus petit. Pourquoi donc? Est-ce exact? Exemple de mon programme: https://ibb.co/i2m2BFPourquoi la largeur d'une polyligne mise en mémoire tampon avec JSTS varie-t-elle avec la latitude?

+0

Bonjour, même question/question de mon côté Avez-vous trouvé une réponse/une solution? Merci –

+0

Je suis passé sur TurfJS http://turfjs.org/docs/#buffer que récemment (quelle bonne chance) a corrigé un problème similaire dans leur bibliothèque. Cela fonctionne très bien et accepte également des miles et des kilomètres, comme des unités de distance –

Répondre

1

La largeur du polygone est définie en degrés. À partir du code:

var distance = 10/111.12, // Roughly 10km) 

La longueur d'un degré de longitude varie avec la latitude.

+1

Merci, c'est logique maintenant mais malheureusement c'est un problème pour moi. Je devrais faire une zone de 5 miles autour de la polyligne et cette solution n'est pas précise. Connaissez-vous une solution qui pourrait m'aider? Parce que cela signifie que si vous avez une ligne horizontale, le tampon sera 2 fois plus grand que dans la ligne verticale. (90 vs 180 degrés) –

+1

J'ai mis en œuvre mon programme entier et toutes les autres fonctions fonctionnent parfaitement. Celui-ci me dérange mais je ne sais pas comment je pourrais le changer et avoir encore un polygone comme tampon autour de la polyligne. –