2012-11-05 11 views
1

我的意思是,我想中心的地圖的固定位置:是否可以在固定的位置(緯度) - 100px?

map.setCenter(markerCliccato.getPosition()); 

和更小(Y軸)100像素下來。可能嗎?或者我需要這個「虛擬」點的緯度/經度?

這是因爲我有一個InfoWindow非常高度,我需要把它從地圖頂部放100px!不能在infowindow上使用「邊距」,因爲可能會使地圖中的其他標記產生問題。

我這點作爲緯度/經度:https://maps.google.com/?q=54.572062,-3.038818

但我想在https://maps.google.com/?q=54.486793,-3.042046將地圖(這或多或少是100像素下來我的觀點,在圖)

+0

我也是,我是意大利!我的意思是:由於標記的Lat Lng,我可以將地圖居中,對吧?好!現在使用光標將地圖向下移動100px!地圖的中心應該是我要找的... – markzzz

+0

否:我不是指「移動地圖」,而是將地圖的中心向下移動100px ... – markzzz

+0

檢查示例,也許它會更清楚... – markzzz

回答

2

好,我需要張貼圖片:)

這是前點擊

before

,這是後

after

沒有灰色地帶,地圖是所有的渲染。

此外,要查看標記,您必須允許網站跟蹤您的位置。

function offsetCenter(latlng, offsetx, offsety) { 
    var scale = Math.pow(2, map.getZoom()); 
    var nw = new google.maps.LatLng(
    map.getBounds().getNorthEast().lat(), map.getBounds().getSouthWest().lng()); 

    var worldCoordinateCenter = map.getProjection().fromLatLngToPoint(latlng); 
    var pixelOffset = new google.maps.Point((offsetx/scale) || 0, (offsety/scale) || 0) 

    var worldCoordinateNewCenter = new google.maps.Point(
    worldCoordinateCenter.x - pixelOffset.x, worldCoordinateCenter.y + pixelOffset.y); 

    var newCenter = map.getProjection().fromPointToLatLng(worldCoordinateNewCenter); 

    map.setCenter(newCenter); 
} 

看到它在這裏工作:http://jsfiddle.net/RASG/vA4eQ/

測試與FF 15,IE 9和Chrome 21

+0

是的,它的工作原理:)謝謝! – markzzz

相關問題