2014-12-18 91 views
-3

我想知道如何更改Google地圖中標記的位置。在Google地圖中設置標記位置

目前我使用:

var newlatlong = new google.maps.LatLng(place.geometry.location.lat(), place.geometry.location.lng()); 
map.setCenter(newlatlong); 
marker.setPosition(newlatlong); 
map.setZoom(10); 

我可以手工編寫代碼的標誌物在比中心位置以外的地圖位置?

我的意思是map.setCenter(newlatlong);,而不是setCenter有沒有其他可用的位置?或者我可以手動編碼標記出現在地圖上的位置?

+0

你說的是鼠標指針的位置嗎?或一些標記? – Thierry

+0

只需對問題進行編輯即可。這是地圖標記。 – user1012181

回答

3

不知道你爲什麼兩次運行的代碼......

但是,是的,你可以直接傳遞緯度/經度值的setCenter方法

map.setCenter({lat: -34, lng: 151}); 

文檔:https://developers.google.com/maps/documentation/javascript/reference#Map


更新評論後

如果要移動地圖中心以便標記位於特定位置(以像素爲單位),可以將標記居中,然後使用.panBy方法將地圖移動固定的像素數。

+0

對不起,如果我在這個問題上沒有任何意義。但是我想知道的是指針的位置。不是'lat'和'lng'。默認情況下,地圖指針設置爲中心。 – user1012181

+0

@ user1012181你在說什麼指針?你是否創建了一個標記並將其放置在地圖上? –

+0

是的,這是標記! – user1012181

0

要創建一個標記:

var marker = new google.maps.Marker({ 
    map : map, 
    position : newlatlong 
}) 

更新此標記的位置:

marker.setPosition(newlatlong); 

把中心標記以東,例如:

map.setCenter(new LatLng(newlatlong.lat,newlatlong.lng + 1.0)) 
+0

'marker.setPosition(newlatlong)'是這個地方。標記的位置仍然位於中心。我想將標記移動到x-y方向。 – user1012181

+0

如果將相同的latlng設置爲地圖中心和標記,則標記將位於中心。如果你不想要這個,你可以設置中心到另一個位置(例如,一些lng + x,取決於你的縮放級別) – Thierry

+0

是的,我想知道如果我可以改變標記的位置而不是中心位置。 – user1012181

0

您可以使用不同的經度和緯度分別設置地圖的中心和標記:

function initialize() { 
    var mapOptions = { 
     center: new google.maps.LatLng(41.512318, -72.979349); 
    }; 

    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(41.513001, -72.983845) 
    }); 
}; 

這使得標記略微偏離中心向左。我在當前的一個項目中使用了這個。

相關問題