我有一張地圖,禁用街景視圖,因此用戶無法放大,並可能看到藍色突出顯示,使其在縮放時單擊地圖時不小心觸發街景太多了。但是,我希望他們能夠在我提供的對話框上使用按鈕,以便他們在可用的情況下查看引腳上的位置。Bing地圖v8 MapTypeId不匹配視圖
我的問題是我得到了錯誤,因爲地圖停止支持tryLocationToPixel,所以在街景視圖中我的位置測試代碼拋出了錯誤。問題是這些部分已經被下面的代碼所保護。
if(!propertyMap || propertyMap.getMapTypeId() !== Microsoft.MapTypeId.road)
return;
在進一步的檢查,而目測確認我在街景用的console.log我可以告訴大家,getMapTypeId()仍然返回「R」的道路,即使觀點已被轉換爲街景。我使用以下代碼將視圖轉換爲街景。
propertyMap.setView({ center: location, streetsideOptions: { locationToLookAt: location } });
propertyMap.setMapType(Microsoft.Maps.MapTypeId.streetside);
我的地圖創建如下
var map = new Microsoft.Maps.Map('#compsMap',
{
credentials: $('#bing-key').text(),
enableClickableLogo: false,
enableSearchLogo: false,
showCopyright: false,
showDashboard: false,
showMapTypeSelector: false,
showScalebar: false,
disableStreetside: true,
streetsideOptions: { showCurrentAddress: false },
zoom: 17
});
任何方法來檢測地圖目前在街景與否?目前,我添加了一個try-catch來隱藏錯誤,以防止它打破其他事情,但這不是一個理想的解決方案。
注意:maptypedchanged事件不適用於編程方式更改的視圖,因此這也不是有效的解決方案。
是的,我只是啓用街邊,並會看看是否有任何投訴,如果是這樣只是完全刪除功能。更簡單的解決方案,只是不理想。 – user2927848