[2014 年 4 月 2 日編集]
強調したいことがあります。私のシナリオには、イベント リスナーをトリガーするユーザー イベントがありません。Maps API のドキュメントにfeatureId
、MapsEngineMouseEvent
. しかし、私のシナリオでは、機能をfeatureId
プログラムで取得する必要があります。
また、プログラムでクリックを「偽造」しようとしましたが、それも機能しません。(イベントオブジェクトがインスタンス化できないらしい??)
私の推測では、これに対する解決策は、1) 存在しないか、2) 一見単純であるか、3) 最小レベル 8 のメイジが自然な 20 の知恵チェックをロールした場合にのみ発見される..
[元の問題文]
DynamicMapsEngineLayer
カスタマイズされた Google マップ クライアントで、フィーチャをループしてスタイルの特性を変更する必要があるシナリオはほとんどありません。DynamicMapsEngineLayer
出演作品は..
..ベクター データのクライアント側レンダリング。開発者は、ホバーやクリックなどのユーザー インタラクションに応じて、ベクター レイヤーのスタイルを動的に変更できます。
featureId
Maps API ドキュメントでは、Google サーバーによって割り当てられた特別な値を公開するイベント リスナーを使用して、個々の対象物のスタイルを変更する方法について説明しています。しかし、私のシナリオにはユーザー主導のイベントがありません。たとえば、次の架空のリンクを考えてみましょう。
http://www.acme-map.com/index.php?ZoomToAndHighlightFeatureWithId=12345
FeatureWithId
は独自の一意の ID であり、Google の specialfeatureId
ではなく、ランタイムのこの時点ではありません。
フィーチャの真上にマップをロードし、そのスタイル トレイトを変更して強調表示する必要があります。これは、ユーザーの操作なしで、マップが最初に読み込まれるときにプログラムで行う必要があります。これらのベクトル機能が DOM で本当にレンダリングされている場合、マップの内部に到達してこれらのオブジェクトにアクセスする方法が、どれほど不可解なものであっても確実にあるでしょうか?
DynamicMapsEngineLayer の個々の機能をループする方法や、イベント リスナーなしで featureId プロパティを取得する方法はありますか?