2014-09-22 10 views
1

http://jsfiddle.net/bor9zuhr/2/潘取決於變焦(如何做數學題)地圖

在此小提琴是我的問題的說明。我有導航在地圖元素的頂部。現在,當你點擊一個標記時,地圖將被平移到標記的座標上,而當信息窗口足夠大時,它的頂部很可能不會被讀取。

我想要的是將地圖平移到標記上方的位置,以便信息窗口降低並且不會被導航遮擋。理想情況下,它會落在可見區域的中間。

問題是,當地圖放大到很遠時,我需要將它縮小得遠遠小於放大的地方。我似乎無法得到正確的數學。

這是採用平移交易的部分代碼:

infowindow.open(map, marker); 
var K = 0; // this should be something depending on the zoom level 
var lat = marker.getPosition().lat() + K; 
var lng = marker.getPosition().lng(); 
var newCenter = new google.maps.LatLng(lat, lng); 
map.panTo(newCenter); 

回答

2

你可以在你的函數的末尾調用map.panBy

docs

變更地圖的由以像素爲給定的距離的中心。如果距離小於地圖的寬度和高度,則過渡將平滑動畫。請注意,地圖座標系統從西向東(對於x值)和從北到南(對於y值)增加。

隨着panBy你不必考慮縮放級別,你只是平移像素。