そのため、Bing Maps AJAX API(v7)の検索モジュールを使用しようとしていますが、Interactive SDKで、bounds
検索する境界ボックスを指定するというプロパティを渡すことができることに気付きました。この例では、マップの現在の境界ボックスを使用しているだけなので、理論的には、ズームインすると、新しい検索で、ズームインした領域内の結果が表示されるはずです。
問題は次のとおりです。InteractiveSDKのサンプルコードの最後に次のコードを追加します。
Microsoft.Maps.Events.addHandler(map, 'viewchange', searchRequest);
これが行うべきことは、マップ内を移動したり、ズームインまたはズームアウトしたりするたびに、マップの新しい境界領域で新しい検索を起動する必要があります...次のような線があるためですbounds: map.getBounds(),
。実際に発生するのは、ズームする前の元の位置に戻ることです。
私をクレイジーと呼んでください、しかしbounds
プロパティは完全に無視されているだけですか?検索結果を現在表示されているマップエリアに制限する方法を知っている人はいますか?
最後に:それは私だけですか、それともV7のAPIドキュメントはかなり不完全ですか?APIドキュメントに表示されていないものをChromeコンソールで調べることで、いくつかのことを見つけることができました。
更新:これは、検索関数への私の呼び出しがどのように見えるかです:
searchManager.search({
bounds: map.getBounds(),
callback: searchSuccess,
count: 20,
entityType:"Business",
errorCallback: searchFail,
startIndex: 0,
userData: userData,
what: what,
where: search
});