0

Googleマップのタイルのマウスオーバーでjqueryイベントをトリガーしたい。私が思いついた最高のものはでした。

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

これにより、地図が読み込まれている間のみホバーアクションがトリガーされますが、ページが読み込まれるとトリガーされません。

ここで見ることができます:http://rider.cyclistsroadmap.com (ただし、デバッガーdivは表示されず、アラートはテストに煩わしく、マップの読み込みを期待する傾向があります)

ページが読み込まれた後にアクションをトリガーできるようにする方法

4

1 に答える 1

0

次のように、マップの mousemove イベントにイベント リスナーを追加する必要があります。

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() 関数はこの別のファイルに含まれていることに注意してください。

ここに掲載されたコードは、主にドキュメントのこの例に基づいています。

于 2012-07-20T10:57:16.570 に答える