如何在Google Maps Javascript API中向叠加切片添加事件

时间:2017-04-13 14:05:24

标签: javascript google-maps-api-3

我想在地图上实现网格覆盖,其中所有切片都应单独点击,因此可以相互区分,以便在最后获得点击的切片边界。

我真的不知道为什么会这样 div.onclick = function(){console.log(coord);};未被解雇。

function CoordMapType(tileSize){
    this.tileSize = tileSize;
}
CoordMapType.prototype.getTile = function(coord, zoom, ownerDocument){
    var div = ownerDocument.createElement('div');
    div.innerHTML = coord;
    div.style.width = this.tileSize.width + 'px';
    div.style.height = this.tileSize.height + 'px';
    div.style.borderStyle = 'solid';
    div.style.borderWidth = '1px';
    div.style.borderColor = '#AAAAAA';
    div.onclick = function(){
        console.log(coord);
    };
    return div;
};

在地图初始化期间调用此方法

var map;

function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
    center: {lat:0.0,lng:0.0},
    zoom: 2
});

map.overlayMapTypes.insertAt(0, new CoordMapType(new google.maps.Size(128,128)));

正确显示切片,但不会触发事件。

1 个答案:

答案 0 :(得分:0)

地图图块无法点击,图层上的图层会吸收点击事件。请参阅MapPanes的说明,该说明指示哪些窗格接收DOM事件。