2012-07-20 57 views
0

我想触发一个jQuery事件,当鼠标悬停在谷歌地图上的图块时。我能想到的最好的是。在谷歌地图上触发悬停在地图图块上

$('div.tileclass').live('hover', function(){ 
    $("#debugger").prepend("test"); //Dummy just to test if this works 
}); 

这会触发仅在地图加载,但没有一次加载页面

可以在这里看到的悬停动作:http://rider.cyclistsroadmap.com(尽管调试器的div将不显示和警报往往是恼人的测试和希望了地图加载)

任何方式能够触发动作在页面加载

+0

我使用Firebug添加了css“pointer-events:none”到其他图层之一,甚至完美地工作!任何想法如何我可以添加这从JavaScript的另一层的CSS? – paullb 2012-07-20 06:39:48

回答

0

后,您需要一个事件侦听器添加到地图中的鼠标移动事件,如:

google.maps.event.addListener(map,'mousemove', function(mev){ 
    var TILE_SIZE = 256; 
    var proj = map.getProjection(); 
    var numTiles = 1 << map.getZoom(); 
    var worldCoordinate = proj.fromLatLngToPoint(mev.latLng); 

    var pixelCoordinate = new google.maps.Point(
      worldCoordinate.x * numTiles, 
      worldCoordinate.y * numTiles); 
     var tileCoordinate = new google.maps.Point(
      Math.floor(pixelCoordinate.x/TILE_SIZE), 
      Math.floor(pixelCoordinate.y/TILE_SIZE)); 

    debug('TileX:' +tileCoordinate.x+' - TileY:'+tileCoordinate.y); 

}); 

注意,debug()函数包含在此separate file

这里发布的代码主要是基于this example从文档。