L'extrait de code JavaScript inclus est censé faire ce qui suit:cliquer à l'intérieur d'un polygone dans Google Maps
Comme l'utilisateur clique sur la carte, initialiser headMarker et dessinez un cercle (polygone) autour
comme l'utilisateur clique à l'intérieur du cercle, initialiser tailMarker et tracer le chemin entre ces deux marqueurs
1 se passe comme prévu. Mais lorsque l'utilisateur clique dans le cercle, dans function(overlay,point)
, overlay
est non nul alors que point
est null. Pour cette raison, le code ne parvient pas à initialiser tailMarker.
Quelqu'un peut-il me dire un moyen de sortir.
GEvent.addListener(map, "click", function(overlay,point) {
if (isCreateHeadPoint) {
// add the head marker
headMarker = new GMarker(point,{icon:redIcon,title:'0'});
map.addOverlay(headMarker);
isCreateHeadPoint = false;
// draw the circle
drawMapCircle(point.lat(),point.lng(),1,'#cc0000',2,0.8,'#0',0.1);
} else {
// add the tail marker
tailMarker = new GMarker(point,{icon:greenIcon,title:''});
map.addOverlay(tailMarker);
isCreateHeadPoint = true;
// load thes path from head to tail
direction.load("from:" + headMarker.getPoint().lat()+ ", " +
headMarker.getPoint().lng()+ " " +
"to:" + tailMarker.getPoint().lat() + "," +
tailMarker.getPoint().lng(),
{getPolyline:true});
}
});
Un grand merci. Ça marche. C'est bizarre comment vous devez mettre cliquable: "faux" pour activer le clic (je pensais que ce sera cliquable: vrai) – user315067
@ amarsh-anand: Oui, fondamentalement en le définissant 'clickable: false' vous dites à l'API qu'un clic qui se trouve sur un polygone doit être traité comme un clic sur la carte, au lieu d'un clic sur le polygone. –