4

Google Maps API v3 の MarkerImage コンストラクターによって生成されたスプライトの「原点」ポイントを動的に更新したいのですが、新しい MarkerImage を完全に生成せずにそれが可能かどうか疑問に思っています。

ここにいくつかのコードがあります:

// Marker options
var markerOptions = {
    icon: new google.maps.MarkerImage('../images/content/marker.png', 
      new google.maps.Size(88,88),
        new google.maps.Point(0,0),
      new google.maps.Point(44,88)
    ),
  position: position,
  map: map
}

var marker = new google.maps.Marker(markerOptions);

marker.setPoint(0,10) の行に沿って何かを行うことはできますか、それともスプライトの原点を再度設定するためだけに新しい MarkerImage を作成する必要がありますか?

4

3 に答える 3

4

MarkerImage がマップ上に描画される場合、それを行う最も簡単な方法は次のとおりです。

marker.getIcon().origin = new google.maps.Point(0, 10);
marker.setIcon(marker.getIcon()); //re-draw the MarkerIcon
于 2011-09-07T09:14:43.177 に答える
2

マーカーのアイコンの origin プロパティを設定できます。あなたの例では:

marker.getIcon().origin = new google.maps.Point(0, 10);

以下も機能します。

marker.icon.origin = new google.maps.Point(0, 10);
于 2011-06-19T20:24:24.867 に答える
0

作成後に MarkerImage のプロパティを変更する方法はありません (少なくとも API リファレンスによると)。新しい MarkerImage を作成して を呼び出すことができますmarker.setIcon()

于 2011-06-17T23:48:23.433 に答える