Calculer l'aire d'un polygone
J'ai besoin d'obtenir l'aire d'un polygone dans ma carte. J'ai cherché un exemple de new google.maps.geometry.spherical.computeArea
, mais je ne peux pas le faire fonctionner, et je ne sais pas pourquoi.
function dibuV(area){
var i;
var a = new Array();
for(i=0; i<area.length; i++){
var uno = area[i].split(",");
a[i] = new google.maps.LatLng(uno[0],uno[1]);
}
poligon = new google.maps.Polygon({
paths: a,
strokeColor: "#22B14C",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#22B14C",
fillOpacity: 0.35
})
poligon.setMap(map);//until here is ok
var z = new google.maps.geometry.spherical.computeArea(poligon.getPath());
alert(z); //this is not working
}
Vous devez vous connecter pour publier un commentaire.
L'erreur que votre code vous donne:
google.maps.geometry is undefined
De la Google Maps API v3 de la documentation, la géométrie fonctions font partie d'une bibliothèque qui n'est pas chargé par défaut:
Afin de charger et d'utiliser la géométrie funcitons au sein de votre page, vous devez signaler à Google que vous allez être en utilisant la géométrie de la bibliothèque, en l'ajoutant à votre initiale de l'API Google appel en incluant
libraries=geometry
:Cette charge ensuite la géométrie de la bibliothèque et de votre
z
variable contiendra un objet.Page de Test avec le code de travail:
?libraries=geometry,visualization
..etc.libraries
paramètre avant lakey
paramètre. J'ai été coincé pendant des siècles sur ce pointCe n'est pas de travail parce que vous êtes à l'aide de "nouveau" pour utiliser le computeArea méthode.
Utiliser "google.cartes.la géométrie.sphérique.computeArea" sans "nouveau".
Exemple:
Cela fonctionne.