2

同様の質問がすでに出されていますが、満足のいく答えはありません。

マップタイプ選択ボタン(実際にはCSSクラスを持たないDIV)のCSSスタイルを変更したいと思います。参照されている質問のリンクは、コントロールをサブクラス化する方法を示していますが、例はでは機能しないようですGMapTypeControl。次のことを試しました

function CustomGMapTypeControl() {}
CustomGMapTypeControl.prototype = new GMapTypeControl()
CustomGMapTypeControl.prototype.setButtonStyle_ = function(button) {
    button.style.backgroundColor = "red";
}

しかし、setButtonStyle_関数は呼び出されません。

これに対する解決策はありますか?

4

1 に答える 1

0

上記のコードから、カスタム マップ コントロールの作成方法を完全には理解していないと言えます。2 つのステップがあります。

  1. サブクラス化GControl
  2. 提供initialize()およびgetDefaultPosition()方法。

メソッドは、initializeコントロール DOM 要素を作成してスタイルを設定する場所であり、このメソッドはその DOM 要素を返す必要があります。このgetDefaultPosition()メソッドは、このコントロールを配置する場所 (右上など) を示し、 type のオブジェクトを返す必要がありますGControlPosition

map.addControl(new CustomGMapTypeControl())呼び出したときにマップ オブジェクトが呼び出して正しいことを実行できるように、十分な情報を提供する必要があります。

getContainer()注: すべてのマップ コントロールは、GMap2 のメソッドでアクセスできるマップ コンテナーに追加する必要があります。

firebugを使用して独自のカスタム コントロールを作成する場合は、http://code.google.com/apis/maps/documentation/javascript/v2/examples/control-custom.htmlをいじることができます。

于 2011-01-14T03:45:40.770 に答える