2011-08-09 7 views
0

J'ai v3 api google maps, qui utilise le plugin de "Le Di Lab" pour le dessin de polygone:Point Polygon (API Google Maps v3)

http://www.the-di-lab.com/?p=219

Et puis utilise tparkins plugin for raycasting .

https://github.com/tparkin/Google-Maps-Point-in-Polygon

Cependant, je dois accéder à l'objet de polygone du plugin polygone. La section du plugin polygone qui trace en fait le Polygon sur la carte est:

this.polygonObj= new google.maps.Polygon({ 
       paths: this.coords, 
       strokeColor: "#FF0000", 
       strokeOpacity: 0.8, 
       strokeWeight: 2, 
       fillColor: "#FF0000", 
       fillOpacity: 0.35, 
       map:this.map 
}); 

Et je créerais la carte avec:

var creator = new PolygonCreator(map);

je puis faire le point en polygone via vocation:

var isWithinPolygon = polygonObj.containsLatLng("52,0");

Ainsi, par exemple:

var coordinate = new google.maps.LatLng(40,90);                                                  
var polygon = new google.maps.Polygon([], "#000000", 1, 1, "#336699", 0.3); 
var isWithinPolygon = polygon.containsLatLng(coordinate); 

Fondamentalement, tout ce dont j'ai besoin est l'objet polygone du premier script. Les deux fichiers javascript sont ci-dessous:

http://80.229.168.62/guild_service/server/js/polygon.min.js

http://80.229.168.62/guild_service/server/js/latlngcontains.js

La page en cours d'exécution des scripts est:

http://80.229.168.62/guild_service/server/map_view.php

Répondre

1

Si vous créez le Polygon via le creator.pen.drawPloygon() (pas ce n'est pas une faute de frappe de ma part - la fonction est vraiment orthographiée de cette façon dans polygon.min.js), alors vous devriez être capable de le récupérer de creator.pen.polygon.getPolygonObj() .

+0

Ok, merci beaucoup, Cependant, si je fais cela, j'obtiens l'erreur suivante: 'a.lat n'est pas une fonction' - voir: http://80.229.168.62/guild_service/server/map_view.php?location=Manchester&radius=1609.344# - – rickyduck

+0

Assurez-vous passer les paramètres corrects à 'drawPloygon()'! Il semble que vous ayez enlevé les fichiers des liens dans votre question, mais je crois me rappeler qu'il a fallu quatre paramètres. Regardez le code source pour voir ce qu'ils sont. – Trott

+0

Super, merci beaucoup! – rickyduck