3

Google マップ V3 のカスタム アイコンである次のコードがあります。jQuery.Rotate プラグインを使用して回転させたい。

var image = new google.maps.MarkerImage(
    "markers/test.png",
    new google.maps.Size(52, 52), // size
    new google.maps.Point(0, 0), // origin
    new google.maps.Point(20, 0) // anchor
);


marker = new google.maps.Marker(
{
    map: map,
    draggable: false,
    position: markerData[i].latLng,
    visible: true,
    icon: image,
    optimized: false
});

問題は、jQuery.Rotate が回転する要素を識別するために DOM ID を必要としていることです.Markerimage には 1 つがなく、指定できません。

例えば。

<img src="img" id="image">
$("#image").rotate(15);

jQuery.Rotateがそれを使用できるように、IDをMarkerImageに割り当てることができるサンプルコードを誰かに見せてもらえますか. id が id="image" であると仮定した #image または jQuery.Rotate に DOM 要素を指すのではなく MarkerImage を使用するように指示する別の方法はありますか?

これに対する答えが見つからない場合は、使用するアイコンごとに同じアイコンの 360 バージョンを作成する必要があります。ただし、この特定のプラグインを使用することを好みます。うまくいけば、簡単な答えがあります。

4

1 に答える 1

1

「答え」を提供することはできません。ヒントと観察だけです。

マップが「マップ」と呼ばれる DOM オブジェクトであると仮定して、DOM オブジェクトを見てくださいmap.l.innerContainer.outerHtml。(これは小文字の "l" - map.l)

他の多くの div の中で、outerHtml で、アイコンの img ファイルを含む div を見つけることができるはずです。

私はあなたと同じことをしたいと思っていました。アイコンをオンザフライで回転させたいのですが、jquery を使用して回転させるのを容易にするために、これらの div に ID を配置する方法を整理できるかどうかを確認する時間はまだありません。div は API によって作成されます。

文献に記載されている DOM ミューテーション イベント ( などDOMNodeInsertedIntoDocument) がいくつかありますが、明らかにそれらの実装は信頼性が低く、むらがあり、W3C 仕様から削除されたように思えます。私はまだこれらのいずれも試していないので、個人的な経験からコメントすることはできません.

私の場合、N NNE NE ENE などの基本方向ごとにアイコン ファイルを作成することにしました。

クエストに成功した場合は、他の人のためにここで解決策を共有してください.

于 2012-08-05T03:12:27.303 に答える