Alles was Sie tun müssen, ist die clickable: false
Option im GPolygon
Konstruktor gesetzt, wie in der folgenden Beispiel (GPolygonOptions: API Reference):
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps Non Clickable Polygon Demo</title>
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false"
type="text/javascript"></script>
</head>
<body onunload="GUnload()">
<div id="map" style="width: 450px; height: 300px"></div>
<script type="text/javascript">
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
GEvent.addListener(map, "click", function(overlay, latlng) {
var lat = latlng.lat();
var lon = latlng.lng();
var latOffset = 0.01;
var lonOffset = 0.01;
var polygon = new GPolygon([
new GLatLng(lat, lon - lonOffset),
new GLatLng(lat + latOffset, lon),
new GLatLng(lat, lon + lonOffset),
new GLatLng(lat - latOffset, lon),
new GLatLng(lat, lon - lonOffset)
], "#f33f00", 5, 1, "#ff0000", 0.2, { clickable: false });
map.addOverlay(polygon);
});
</script>
</body>
</html>
Screenshot mit Beweis:
Beachten Sie, dass die click(overlay: GOverlay, latlng: GLatLng, overlaylatlng: GLatLng)
Ereignis unterschiedliche Argumente geht auf den Kontext des Klicks basiert, und ob der Klick auf einen klickbaren Overlay aufgetreten . Wenn der Klick in einem anklickbaren Overlay nicht erfolgt, lautet das Argument overlay
null
und das Argument latlng
enthält die geografischen Koordinaten des angeklickten Punkts. Wenn der Benutzer auf ein Overlay klickt, das anklickbar ist, enthält das Argument overlay
das Overlay-Objekt, während das overlaylatlng
-Argument die Koordinaten des angeklickten Overlays (Source: API Reference) enthält.