2010-06-18 5 views
4

J'ai des charges de coordonnées pour un polygone dans une base de données. J'ai aussi des coordonnées pour un marqueur dans ma base de données. Comment détecter si le marqueur est à l'intérieur de ce polyon.Comment détecter si un marqueur est à l'intérieur d'un polygone dans google maps

Note: J'utilise un cronjob pour déplacer le marqueur, et dans ce cronjob il doit le détecter. Donc javascript n'est pas impliqué!

La forme d'un polygone n'est pas simplement un cercle ou un carré. Ce pourrait être par exemple un pays ou une mer.

Répondre

7

Il y a maintenant une fonction dans l'API Google Map qui fait cela.

Google Map coordinates in polygon

containsLocation(point:LatLng, polygon:Polygon);  
isLocationOnEdge(point:LatLng, poly:Polygon|Polyline, tolerance?:number); 
bien
+0

qui est génial. Je vais le remettre en question :) –

0

Si vous utilisez des extensions spatiales mysql, vous pouvez utiliser link text fonction

1

vous devez sélectionner vos polygones et de les classer sous deux formes différentes, un par l'axe x, un par l'axe des y, chaque fois que les groupant par le même paramètre. Ensuite, assurez-vous que la coordonnée y de votre marqueur se trouve entre les coordonnées y des points polygonaux du même x. et que le marqueur y est entre les points x du polygone ayant le même y.

Questions connexes