2016-04-04 7 views
1

Googleマップのタイルをクリックして別の画像に置き換えることができるアプリケーションを作成しています。Googleマップのタイルピクチャを置き換えるAPI getTileのオーバーライド

現在の解決策は、オーバーレイマップを追加し、getTile()をオーバーライドしてID付きカスタムdivを作成し、クリックイベントリスナーを作成し、IDセレクタで選択して操作できます。

現在のソリューションは、(まとめ)である:(gettileにclickイベントリスナーを追加する方が良いだろう

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); 
} 

)ので、私は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

タイルはoverlayLayer-mapPaneに表示されます。

ドキュメントによると、このマップペインはDOMイベントを受け取らない可能性があるので、計算によって特定のタイルを検出するよりも良い方法はありません。

関連する問題