2016-03-04 30 views
-1

使用這個例子:https://developer.here.com/api-explorer/maps-js/infoBubbles/open-infobubble。我有一個新的地圖有兩點。如果我更改地圖添加寬度的div:100%;高度:100%和位置:絕對。我有一個全屏幕地圖,但在這個版本中,如果我第一次加載沒有全屏的頁面,並點擊一個全屏窗口,我有一個灰色的背景顏色。更改屏幕方向時,同樣的問題與易變的browswer。在另一個API中,它並沒有發生,所有的時間都是全屏顯示。 ¿我該如何解決它? 而在這個api中的另一個問題,我如何關閉一個infobubbles?這裏api,javascript 3.0

關心和抱歉我的英語。

+0

你可以提供代碼片段,你到目前爲止嘗試過什麼?這個問題太籠統了 – Farside

回答

1

如果我理解正確...

當您更改地圖的容器,你需要調用一個刷新到地圖的大小。

例如 - 創建地圖:

var map = new H.Map(
    document.getElementById(map_div), 
    defaultLayers.normal.map, 
    { 
    zoom: 4, 
    center: { lat: 45.3367, lng: -95.4492 }, 
    }); 

然後添加一個監聽器窗口大小調整:

window.addEventListener('resize', function() { 
    map.getViewPort().resize(); 
}); 

或致電大小調整方法,只要更改DIV地圖容器的大小。

至於處理關閉信息氣泡,我假設你已經有你的HERE地圖UI對象設置添加/顯示信息氣泡。

關閉打開的一個使用的HERE地圖UI對象:

ui.removeBubble(bubble); 

如果您的問題被跟蹤的是什麼當前打開,試圖將其分配給腳本全局變量隨時添加泡沫:

//show info bubble 
ui.addBubble(bubble); 
openInfoBubble = bubble; 

然後,當你需要關閉打開的InfoBubble:

if (openInfoBubble != null) 
    ui.removeBubble(openInfoBubble); 

希望完全,這回答你的問題...祝你好運。