1

次の Bing Map v7 があります: http://new.piperrealtycompany.com/temp/test2.cfm?city=fenton

ここには画鋲のセットがあり、それぞれに InfoBox が関連付けられています。

マップの場合、外部にある対応するリンクのリストが必要です。

マップ内の対応する InfoBoxes を開くにはリスト内のリンクが必要であり、リスト内の対応するリンクを強調表示するにはプッシュピンをロールオーバーします。

私はこのような何かを達成しようとしています! http://www.zillow.com/flint-township-mi/ . これはどのように行うことができますか?

4

1 に答える 1

2

これはかなり簡単です。最初に、各画鋲をマップに追加する際に一意の値を追加する必要があります。例えば:

var pin = new Microsoft.Maps.Pushpin(map.getCenter());
pin.MyPinID = 1234;
map.entities.push(pin);

JavaScript を使用しているため、カスタム プロパティをクラスに簡単に追加できます。各プッシュピンに一意の値を指定すると、後でマップ上のすべての形状をループして、この値を探すことができます。次に、この値を取得してリスト アイテムにリンクできます。これは、いくつかの異なる方法で行うことができます。1つの方法は、アイテムのrelタグで指定することです。別の方法は、次のようにアイテムのクリック イベントに値を渡すことです。

<a href="javascript:void(0);" onclick="FindPushpin(1234);">Link to pushpin</a>

次に、次のようにシェイプをループするメソッドを作成できます。

function FindPushpin(id){
    var cnt = map.entities.getLength();
    var pin, temp;

    for(var I = 0; I< cnt; I++){
      temp = map.entities.get(I);
      if(temp.MyPinID && temp.MyPinID == id){
         pin = temp;
         break;
      }
    }

    if(pin){
      //you found the relative pin
    }
}
于 2013-07-31T13:18:12.973 に答える