【发布时间】:2013-08-29 18:54:44
【问题描述】:
我能想到的用于创建自定义地图图块的最简单示例是 Google maps base tile example.
这里唯一有趣的部分是我们在 getTile() 中放入的内容:
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.fontSize = '10';
div.style.borderStyle = 'solid';
div.style.borderWidth = '1px';
div.style.borderColor = '#AAAAAA';
div.style.backgroundColor = '#E5E3DF';
return div;
};
是否可以为单个地图图块获取鼠标悬停或单击事件,例如,在返回 div 之前执行类似的操作?
google.maps.event.addDomListener(div, 'click', function() {
alert( ' test - called from addListener');
} );
我无法触发事件。
【问题讨论】:
-
你到底想达到什么目的?操作 div 还是只检测点击?
-
@Dr.Molle 两者都有,但首先,我想至少弄清楚如何检测点击。如果我能在 div 中获得类似图像映射的东西,那就太好了。
-
可能无法检测到对图块的点击,因为包含图块图像的 div 被地图的窗格覆盖。当您真正需要图块时,您所能做的就是观察地图上的点击,并根据点击的 LatLng 计算哪个图块或要素会被点击(何时可以点击)。我将存储在 FusionTable 中的功能,通过 FusionTableLayer 处理点击将非常容易。
标签: javascript google-maps google-maps-api-3