Identifier si le point est dans le polygone
Que par mon exigence, je suis dessiner des polygones sur une carte google map indiqué dans l'image ci-dessous.(à l'aide de cartes v2)
Maintenant, j'ai besoin d'afficher une alerte lorsque l'utilisateur entre dans le particulier polygones.
Comment identifier si ma position actuelle est dans le polygone.
(Besoin d'un moyen optimisé sans vider la batterie)
Merci à l'avance.
avez-vous utilisé clôture ici ?
Nope. J'ai juste dessiné que le polygone à l'aide de PolygonOptions. Recherche d'une meilleure façon de déterminer si la position actuelle est dans ce polygone.
Vous pouvez utiliser des Conditions pour cela. developer.android.com/training/location/geofencing.html
Je pense que la Clôture est de savoir si nous pouvons avoir un endroit et de le donner à un particulier de rayon, il vous alerte si l'utilisateur entre dans l'emplacement. Dans mon cas, je suis le dessin d'un polygone à l'aide de multiples endroits.
Quand vous donnez un radious à un emplacement de la clôture géographique des magasins de chaque point à l'intérieur de l'espace délimité par le radious..votre question est que certains sont liés à cette..vous pouvez dessiner poligon au lieu de cercle dans la zone de gardiennage virtuel.
Nope. J'ai juste dessiné que le polygone à l'aide de PolygonOptions. Recherche d'une meilleure façon de déterminer si la position actuelle est dans ce polygone.
Vous pouvez utiliser des Conditions pour cela. developer.android.com/training/location/geofencing.html
Je pense que la Clôture est de savoir si nous pouvons avoir un endroit et de le donner à un particulier de rayon, il vous alerte si l'utilisateur entre dans l'emplacement. Dans mon cas, je suis le dessin d'un polygone à l'aide de multiples endroits.
Quand vous donnez un radious à un emplacement de la clôture géographique des magasins de chaque point à l'intérieur de l'espace délimité par le radious..votre question est que certains sont liés à cette..vous pouvez dessiner poligon au lieu de cercle dans la zone de gardiennage virtuel.
OriginalL'auteur Supriya | 2014-09-24
Vous devez vous connecter pour publier un commentaire.
Juste essayé Ray algorithme qui identifie le point du polygone. Cela fonctionne parfaitement.
Reportez-vous http://en.wikipedia.org/wiki/Point_in_polygon pour la thèse de Ray-Casting
votre algorithme retourne toujours faux , pourquoi?
Bon travail. Merci pour cette. Si possible, je vous demande d'expliquer la façon dont l'intersection est de travail.
OriginalL'auteur Supriya
J'ai trouvé ray-casting méthode peu fiable mais j'ai fini par utiliser la
PolyUtil
à partir de google maps.Vous avez besoin de la dépendance
compile 'com.google.maps.android:android-maps-utils:0.5'
Et puis la méthode ressemble à ceci
MODIFIER
C'est la description de cette méthode dans le code source
J'ai ajouté la description de la méthode, comme je l'ai trouvé dans le code source
Merci! Réponse impressionnante!
Ces deux a toujours. J'ai ajouté tous les deux et mettre la carte tactile écouteur de l'évocation. Pas de questions. Mais c'est clairement le nettoyeur de mise en œuvre.
OriginalL'auteur DoruChidean
Consulter ce lien
Polygone de détection Tactile de Google Map API V2
Son RayCasting algorithme, il peut vous aider 🙂
Une brève description de l'algorithme:
Une ligne horizontale est tracée à partir de votre point vers la droite, si elle croise les côtés du polygone à nombre impair de fois, alors le point est à l'intérieur du polygone d'autre en dehors 🙂
Ces liens wiki vous donnera idée complète:
http://en.wikipedia.org/wiki/Point_in_polygon
http://rosettacode.org/wiki/Ray-casting_algorithm
Travaillé pour mes quelques tests. La vérification de sa thèse. 🙂 Merci
OriginalL'auteur Revathi