絶対配置キャンバスレイヤーをGoogleマップに追加したい. このレイヤーは、マップの動きの影響を受けないようにする必要があります。マップ タイルをオーバーレイし、マップ コントロールの下に配置する静的なキャンバスにする必要があります。そのため、floatPane や tilePane などの別のペインは使用しません。
これの代わりに、キャンバスを mapControls に直接追加します。そしてそれは動作します - ここに例があります: http://jsfiddle.net/wcfPG/。しかし、これはレイヤーを追加する正しい方法ですか?
これが私がこのようなかなりの詳細に悩まされている理由です: jsfiddle の #18 行を変更すると、
map.controls[google.maps.ControlPosition.TOP_CENTER].push(canvas);
これに:
map.controls[google.maps.ControlPosition.TOP_LEFT].push(canvas);
またはこれ:
map.controls[google.maps.ControlPosition.TOP_LEFT].push(canvas);
左右どちらかの余白が出ます。理由はわかりませんが、Google マップのロゴが常に表示されるように保護しているようです。TOP_CENTER がそのようなマージンを作らない理由がわかりません。Google が常に修正できるのではないかと心配しています。