2011-02-14 98 views
1

GoogleMaps當用戶使用鼠標滾輪放大/縮小光標下的點不變時(其座標),但OpenLayers地圖具有不同的方法 - 當地圖的縮放中心不變時。可以在OpenLayers地圖中使用GoogleMaps縮放樣式嗎?OpenLayers縮放樣式GoogleMaps

編輯: 實際上,我的OpenLayers中的當前行爲是,當我放大光標下的某個位置時,它將移動該位置以在下一個縮放級別上映射中心。可能它是一些與我的地圖特定設置有關的問題(如投影)。

+0

你是否要求在拖動時出現的谷歌地圖中的紅框,直到新的瓷磚加載? – Myra 2011-02-14 15:20:42

+0

你有鏈接可以試用嗎?我使用預計的數據,但我沒有遇到您所描述的問題。 – 2011-02-14 15:26:00

回答

2

我想你正在使用OpenLayers.Control.MouseDefaults控件進行導航。那麼你不應該這樣做,因爲這個控件被OpenLayers.Control.Navigation替代,並且將在OpenLayers 3.0中被棄用。

快速瀏覽一下MouseDefaults源代碼顯示了它絕對的光標位置爲中心的地圖:

defaultWheelDown: function(evt) { 
    if (this.map.getZoom() > 0) { 
     this.map.setCenter(this.map.getLonLatFromPixel(evt.xy), 
          this.map.getZoom() - 1); 
    } 
}, 

當光標停留在相同的位置的地圖將在每次你放大時間集中到新的位置/這是令人困惑的。

OpenLayers.Control.Navigation使用與Google地圖相同的方法。 OpenStreetMap使用它,你可以看到它的工作方式相同here

1

實際上,在OpenLayers上查看Basic Example時,Google地圖似乎像地圖放大鼠標指針一樣。或者我錯過了你的問題中的一些細節?