2014-04-25 44 views
1

在我看來,如果地圖容器放置在頁面左上角的任何地方,捏縮放不再居中。我在iPad 2(Safari 5.1),iPhone 5(Safari 7.0),Sony Xperia Tablet Z(Chrome 34.0)上遇到了這個問題。這裏Javascript API錯誤?:手勢縮放不正確

如果我錯過了將事情強迫爲預期行爲的明顯事情,我會很高興有此事向我指出。否則,我傾向於稱這爲一個Here缺陷。

這個簡單的擺弄着觸摸屏設備 http://jsfiddle.net/Thernys/E97rn/

使用,因爲顯然代碼需要與小提琴的鏈接,我複製超級簡單的例子中的相關部分時複製的問題。

HTML

<body> 
    <!-- add a number of <br/> if you like --> 
    <div id='mapContainer'></div> 
</body> 

CSS

#mapContainer { 
    width: 200px; 
    height: 200px; 
    float: right; 
} 

JS

var nMap = new nokia.maps.map.Display(
    document.getElementById('mapContainer'), { 
     zoomLevel: 10, 
     center: [52.51, 13.4], 
     components: [ 
      new nokia.maps.map.component.panning.Drag(), 
      new nokia.maps.map.component.zoom.Gesture() 
     ], 
    } 
); 

回答

1

我面對這個完全一樣的問題。經過一番研究後,我意識到這是因爲地圖容器沒有放置在文檔的笛卡爾原點(top:0,left:0)中。我不知道這是否是API的錯誤,或者是否有任何修正它的配置。

我發現的解決方法是在iframe元素中創建映射並確保它佔據整個寬度。