2016-11-01 3 views
5

Lorsque j'essaie de créer un polygone externe avec un trou à l'intérieur avec l'API Static Maps, la couleur de remplissage remplit le polygone interne, et je ne vois aucun paramètre pour dessiner ceci. C'est à quoi il ressemble: Fail of polygon with holeComment créer un polygone avec un trou à l'intérieur de l'API Google Static Maps?

c'est la demande: https://maps.googleapis.com/maps/api/staticmap?size=640x640&maptype=roadmap&zoom=16&path=color:0xFF0000AA|weight:3|fillcolor:0xFFB6C1BB|enc:csr {FcgiLuSm [rYua @ zIvHvCdNcAzKmRhX & path = couleur: 0xFF0000AA | Poids: 3 | enc: MJR {FsjjL {A} D} E | DxAvD ~ EWD

Répondre

6

Comme il est actuellement une fonctionnalité qui est impossible avec l'API Static Maps, je suis venu avec une solution qui permet d'atteindre « l'effet de trou »:

1) Définir les lignes extérieures et intérieures du polygone sans aucun 'fillcolor', comme cet exemple: https://maps.googleapis.com/maps/api/staticmap?size=640x640&maptype=roadmap&zoom=16&path=color:0xFF0000AA|weight:3|enc:csr{FcgiLuSm[[email protected]&path=color:0xFF0000AA|weight:3|enc:mjr{FsjjL{A}D}E|DxAvD~EwD enter image description here

2) Créez un polygone qui supprime une partie du polygone externe et du polygone interne, créant ainsi un packman. Réglez le poids à zéro 'poids = 0' et choisissez une couleur à remplir, comme dans cet exemple: https://maps.googleapis.com/maps/api/staticmap?size=640x640&maptype=roadmap&zoom=16&&path=color:0x0ea001AA|weight:0|fillcolor:0xFFB6C1BB|enc:csr{FcgiLuSm[[email protected]{A}D}E|[email protected]\ Big portion of filling 3) De manière analogue à l'étape 2, créez la partie manquante du polygone rempli, comme dans cet exemple: https://maps.googleapis.com/maps/api/staticmap?size=640x640&maptype=roadmap&zoom=16&path=color:0x0ea001AA|weight:0|fillcolor:0xFFB6C1BB|enc:csr{[email protected]\ Last portion of filling 4) point Enfin tous les chemins ensemble pour simuler le trou souhaité: https://maps.googleapis.com/maps/api/staticmap?size=640x640&maptype=roadmap&zoom=16&path=color:0xFF0000AA|weight:3|enc:csr{FcgiLuSm[[email protected]&path=color:0xFF0000AA|weight:3|enc:mjr{FsjjL{A}D}E|DxAvD~EwD&path=color:0x0ea001AA|weight:0|fillcolor:0xFFB6C1BB|enc:csr{FcgiLuSm[[email protected]{A}D}E|[email protected]%5C&path=color:0x0ea001AA|weight:0|fillcolor:0xFFB6C1BB|enc:csr{[email protected]%5C Polygon with hole effect

Il y a un utilitaire décodeur encodeur polyligne qui peut vous aider à voir tout le processus à https://developers.google.com/maps/documentation/utilities/polylineutility

+0

Grande solution ! –

+1

Le prochain défi: faites-le par programmation –