2016-11-04 64 views
0

在Bing Maps v8中,我發現釋放和凍結分支之間關於錨定信息框的行爲有所不同。Bing Maps v8 - 信息框錨定行爲已更改

我在地圖上有圖標,在點擊的位置點擊打開信息框。

hhInfobox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(0, 0), { visible: false, showPointer: false }); 
.... 
Microsoft.Maps.Events.addHandler(pushpin, 'click', showHouseholdInfobox); 
... 
function showHouseholdInfobox(e) { 
    .... 
    hhInfobox.setOptions({ 
     visible: true, title: e.target.hhTitle, description: targetHtml 
    }); 
    hhInfobox.setLocation(e.target.getLocation()); 
} 

當我點擊這個圖標(i.stack.imgur.com/nam9Q.png),

信息框出現在這裏冷凍支路(i.stack.imgur.com/1fSDi。 png)(位於信息框左上方的位置是錨定到點擊位置)

但是這裏在發佈分支(i.stack.imgur.com/mLQ3k.png)(信息框的左下角錨定爲單擊位置)。

釋放分支的行爲是一個問題,因爲信息框可能是2100像素高,當我設置最大高度600時,頂部保持固定而底部向上移動1500像素,用戶必須向上滾動幾頁找到信息框。

所以我的問題是(1)這個新行爲是一個錯誤還是一個特徵? (2)如果它是一項功能,將信息框左上角錨定到點擊位置的最佳方式是什麼?

使用setHtmlContent可能是答案。 (msdn.microsoft.com/en-us/library/mt712643.aspx)說:「使用自定義HTML代表信息框時,信息框位於左下角」,但我發現它錨定在頂部左角(i.stack.imgur.com/bvc7l.png),這是我想要的,但我必須使用HTML。

如果這是一個即將解決的錯誤,那麼我什麼都不會做。否則,我可能會使用setHtmlContent,除非有人有更好的主意。

回答

0

在這一點上釋放和冷凍分支是非常不同的。發佈分支每月更新,凍結分支每年更新一次。大多數公司應該並且確實使用主要發佈分支。凍結分支主要用於任務關鍵型應用程序,如911呼叫中心或需要較慢發佈週期的緊急服務方案,因爲發佈時最有可能發生中斷,因爲知道新功能和錯誤修復將不會修復版本很長一段時間。當V8在6月發佈時,最新更新了冷凍分支。自那時以來,已經發布了許多新功能和錯誤修復,這些修復並不在凍結分支中。

爲了完整起見,實驗分支每天更新數次。有關Bing Maps V8分支系統的更多文檔可以在這裏找到:https://msdn.microsoft.com/en-us/library/mt712554.aspx

至於定位信息框,您可以使用信息框類的錨定屬性來控制錨點。默認情況下,當指針被隱藏並且沒有提供錨點時,信息框將其左下角錨定到該位置。我試過各種內容和maxHeight值,並且它總是正確渲染。

+0

謝謝。我們使用釋放分支;我只是試圖將當前的行爲與早期版本進行比較,以驗證這是最近發生的變化。設置錨點對我來說不起作用,所以也許我正在做一些干擾的事情。無論如何,setHtmlContent確實爲我工作。 –