Tất cả bạn cần làm là thiết lập các clickable: false
tùy chọn trong constructor GPolygon
, như trong những điều sau đây ví dụ (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>
Ảnh chụp màn hình với bằng chứng:
Lưu ý rằng các sự kiện click(overlay: GOverlay, latlng: GLatLng, overlaylatlng: GLatLng)
đi lập luận khác nhau dựa trên bối cảnh của nhấp chuột, và có hoặc không có nhấp chuột xảy ra trên một lớp phủ có thể click . Nếu nhấp chuột không xảy ra trên lớp phủ có thể nhấp, đối số overlay
là null
và đối số latlng
chứa tọa độ địa lý của điểm được nhấp. Nếu người dùng nhấp vào lớp phủ có thể nhấp, đối số overlay
chứa đối tượng lớp phủ, trong khi đối số overlaylatlng
chứa tọa độ của lớp phủ được nhấp (Source: API Reference).
Nguồn
2010-03-23 00:33:50