Google Maps ora fornisce un oggetto di richiamata "PolyMouseEvent" su eventi attivati da un poligono o polilinea.
Per costruire sulle altre risposte che hanno suggerito una soluzione che comprenda un click destro, tutto quello che avrebbe bisogno di fare è il seguente nelle ultime versioni delle API V3:
// this assumes `my_poly` is an normal google.maps.Polygon or Polyline
var deleteNode = function(mev) {
if (mev.vertex != null) {
my_poly.getPath().removeAt(mev.vertex);
}
}
google.maps.event.addListener(my_poly, 'rightclick', deleteNode);
Si noterà che qualsiasi calcoli complessi sul fatto che siamo vicini al punto non sono più necessari, poiché l'API di Google Maps ora ci dice quale vertice abbiamo fatto clic.
Nota: funziona solo quando Polilinea/Poligono è in modalità di modifica. (che è quando i vertici che potresti voler eliminare sono visibili.)
Come ultimo pensiero, potresti prendere in considerazione l'utilizzo di un clic o di un evento doppio clic. "Click" è abbastanza intelligente da non attivarsi durante il trascinamento, anche se l'utilizzo di un trigger con un solo clic potrebbe sorprendere alcuni dei tuoi utenti.
fonte
2012-07-05 17:04:58
Il collegamento non funziona più. – Saurabh