下面我有一個代碼片段,它在谷歌地圖上生成一個標記和一個mapLabel(它擴展了覆蓋類)。使用Google地圖覆蓋而不是標記的事件偵聽器?
我試圖實現一個事件偵聽器,通過右鍵點擊刪除覆蓋,就像我用標記一樣,但它不工作!
我不知道如何使它工作,我曾嘗試使用「DomListener」和各種迭代,但它甚至似乎沒有打我在調試時的那行代碼。
我該如何使它可以右鍵單擊以刪除我的mapLabel對象?
var map;
function initialize() {
map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13
});
addPlace();
placeLabel();
}
function addPlace() {
var marker = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(37.4419, -122.1419)
});
google.maps.event.addListener(marker, 'rightclick', function() {
this.setMap(null);
});
}
function placeLabel() {
var mapLabel = new MapLabel({
text: 'Right click to delete??',
position: new google.maps.LatLng(37.4419, -122.1419),
map: map,
fontSize: 21,
align: 'center'
});
google.maps.event.addListener(mapLabel, 'rightclick', function() {
this.setMap(null);
});
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
height: 250px;
width: 500px;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script src="https://googlemaps.github.io/js-map-label/src/maplabel-compiled.js"></script>
<div id="map_canvas" style="border: 2px solid #3872ac;"></div>
MapLabel沒有單擊事件(或右擊事件)。 – geocodezip