我正在做一个应用程序,您可以在其中点击谷歌地图图块,并将其替换为另一张图片。
目前的解决方案是我添加了一个覆盖图,并覆盖了getTile(),创建了一个带ID的自定义div和一个click事件监听器,我可以在其中选择ID选择器,并使用它。
目前的解决方案是(总结):
CoordMapType.prototype.getTile = function(coord, zoom, ownerDocument) {
var div = ownerDocument.createElement('div');
div.id = 'block_' + coord.x + '_' + coord.y;
return div;
};
google.maps.event.addListener(map, 'click', function(event) {
var coord = ... the current tile coordinate
var block_to_select = $('#block_' + coord.x + '_' + coord.y);
do_magic(block_to_select);
}
最好在gettile()中添加click事件监听器,这样我就可以摆脱ID和大量的计算代码。
我试过了:
CoordMapType.prototype.getTile = function(coord, zoom, ownerDocument) {
var div = ownerDocument.createElement('div');
div.dataset.x = coord.x;
div.addEventListener('click',function(){
alert(1);
});
return div;
}
但是onclick函数不会运行。
有没有更有效的方法来替换瓷砖图片?
返回jquery $(“”)也会在getTile()中抛出错误。
答案 0 :(得分:0)
图块将在overlayLayer
-mapPane。
根据文档,这个mapPane可能不会收到DOM事件,所以我担心没有比通过计算检测特定图块更好的方法了。