2
我使用bing地圖ajax v7,爲了簡單起見,我們假設我在世界各地放置了10個PinPoints。我試圖將地圖縮放到最低級別,以便最接近的PinPoint對用戶的當前位置仍然可見。如果有人能指出我正確的方向,我將不勝感激。bing地圖:如何設置縮放級別,以便用戶可以看到精確位置當前位置
$(document).ready(function() {
var windowHeight = $(window).height();
var windowWidth = $(window).width();
map = new Microsoft.Maps.Map(document.getElementById("mapDiv"), {
credentials: "myCredentials",
backgroundColor: "#A4C4ED",
zoom: 3,
height: windowHeight,
width: windowWidth
});
Microsoft.Maps.Events.addHandler(map, 'viewchange', hideInfoBox);
Microsoft.Maps.Events.addHandler(map, 'click', hideInfoBox);
//get users location and set view bound
var geoLocationProvider = new Microsoft.Maps.GeoLocationProvider(map);
var viewRectangle = Microsoft.Maps.LocationRect(geoLocationProvider.getCurrentPosition());
map.setView({ bounds: viewRectangle });
dataLayer = new Microsoft.Maps.EntityCollection();
map.entities.push(dataLayer);
var infoboxLayer = new Microsoft.Maps.EntityCollection();
map.entities.push(infoboxLayer);
//create initial infobox
infobox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(0, 0), {
visible: false,
offset: new Microsoft.Maps.Point(0, 20)
});
infoboxLayer.push(infobox);
Microsoft.Maps.loadModule('Microsoft.Maps.Search', { callback: searchModuleLoaded });
});
爲什麼需要'setTimeout'功能?我沒有超時使用它,地圖不會縮放。按照此處所述添加了超時,並且工作正常 – sebagomez 2014-07-27 17:31:41
所有人員發生同步,因此1秒鐘是一個粗略緩衝區,直到所有引腳實際都由地圖引擎繪製爲止。 只有這樣你才能使setView具有邊界。 – 2014-08-04 06:15:10
好吧,但沒有一個事件我可以把'setView'代碼,所以我不必等待?它似乎脆弱 – sebagomez 2014-08-05 03:20:40