0

このでは、マーカー選択を追加しようとしています (つまり、マーカー変数に .on("click"...) を追加します)。ただし、マウスを Google マップのキャンバスに合わせると、ドラッグできる手が表示され、それを使用して svg 要素を選択することはできません。

D3 要素をクリックできるように、その機能を (一時的に) 無効にする方法はありますか?

4

2 に答える 2

4

現在、このような地図を作成中です。Google のマーカー (むしろ d3 SVG 円) は使用していませんが、マップの overlayMouseTarget レイヤー内のオブジェクトにマウスオーバー/クリック/その他のイベントが必要であることがわかりました。

var overlay = new google.maps.OverlayView();

overlay.onAdd = function() {

    var layer = d3.select(this.getPanes().overlayMouseTarget)
        .append("div")
        .attr("class", "providers");
             ...
}

d3js.org の gMaps デモでは、別のレイヤーが使用されていると思います。

于 2012-08-16T16:29:25.230 に答える
2

var overlay = new google.maps.OverlayView(); を使用できます。overlay.onAdd 関数

 overlay.onAdd = function () {
    var layer = d3.select(this.getPanes().overlayMouseTarget)
        .append("div")
        .attr("class", "stations");
   }

カスタム マーカーを描画するにはoverlay.draw

オーバーレイをoverlay.setMap()マップにバインドするには…</p>

詳細については、https://developers.google.com/maps/documentation/javascript/overlaysをご覧ください。

于 2013-07-11T10:09:47.350 に答える