簡體   English   中英

必應地圖:如何根據搜索查詢設置最佳縮放

[英]Bing Maps: how to set best zoom depending on search query

如何使用ajax API v7根據用戶搜索查詢在Bing Maps上設置最佳縮放級別。 例如,如果搜索查詢是城市名稱-我需要設置縮放級別以顯示整個城市,並且如果查詢是一個准確的地址-我需要顯示該地址,因此縮放級別將更大。 就像在這里工作一樣: https : //www.bing.com/maps/

Microsoft.Maps.LocationRect.fromLocations沒有幫助。 它只會使地圖居中。

您可以通過Microsoft.Maps.Map.setView方法設置ViewOptions.bounds來實現:

bounds LocationRect 地圖視圖的邊界矩形。 如果兩者 都指定,則邊界優先於center。

 function initMap() { var addresses = [ "1 Microsoft Way, Redmond, WA", "Helsinki, Finland", "Australia" ]; var map = new Microsoft.Maps.Map( document.getElementById("myMap"), { credentials: "YOUR-BING-KEY", mapTypeId: Microsoft.Maps.MapTypeId.road } ); Microsoft.Maps.loadModule('Microsoft.Maps.Search', { callback: function() { searchLocation(map, addresses[1], //<- set address function(geocodeResult, userData) { map.setView({bounds:geocodeResult.results[0].bestView }); }, function(geocodeRequest) { console.log('An error occured...'); }); } }); } function searchLocation(map, query, success, error) { var searchManager = new Microsoft.Maps.Search.SearchManager(map); var geocodeRequest = { where: query, count: 1, callback: success, errorCallback: error }; searchManager.geocode(geocodeRequest); } 
 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0" type="text/javascript" charset="UTF-8"></script> </head> <body onload="initMap();"> <div id="myMap" style="position: relative; width: 600px; height: 450px;"></div> </body> </html> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM