我有一個包含搜索結果和結果標記數組的表格。每個元素都有一個ID,如果用戶點擊一個標記,頁面會滾動到搜索結果(我只是改變了window.location.hash)。如何在Google Map上找到某個標記?
是否有可能做到反之亦然?用戶點擊搜索結果,出現標記的infoWindow。
我有一個包含搜索結果和結果標記數組的表格。每個元素都有一個ID,如果用戶點擊一個標記,頁面會滾動到搜索結果(我只是改變了window.location.hash)。如何在Google Map上找到某個標記?
是否有可能做到反之亦然?用戶點擊搜索結果,出現標記的infoWindow。
我假定你的意思是在地圖上與搜索結果相關的標記滾動到視圖中?
只要您的搜索結果包含一個點擊事件,其中包含您想要顯示的標記的某個唯一標識符,那麼確定它會起作用。我目前管理的網站有一個搜索結果側邊欄,當您單擊結果時,它會將標記滾動到地圖上的視圖中並顯示信息窗口。通過單擊處理程序調用的代碼看起來像這樣(沒有一些錯誤處理和其他感興趣的部分你的問題):
function MarkerZoomTo(markerIdentifier) {
pt = gMarkers[markerIdentifier].getPosition();
newpt = new google.maps.LatLng(pt.lat() + .02, pt.lng());
map.panTo(newpt);
if (infoWindow) {
infoWindow.close();
}
infoWindow.setContent(gMarkers[markerIdentifier].get('iwcontent'));
infoWindow.setPosition(gMarkers[markerIdentifier].getPosition());
infoWindow.open(map, gMarkers[markerIdentifier]);
}
我通過獨特的標記識別的功能,得到特定標記了我的標記數組,獲取lat/lng位置,創建一個LatLng對象,並平移到該位置。
其餘的只是爲了檢索infowindow的內容,並設置它的位置,你可以以任何你認爲合適的方式進行設置。
最後,只需打開標記的infowindow即可。
祝你好運!
這真的很有幫助。謝謝。 –
「如果用戶點擊標記,頁面滾動到搜索結果」你能幫我嗎? – UnderDog
@Javafreak google.maps.event.addListener(marker,'click',function(){$('。search-results')。animate({scrollTop:$(「#result_1」)。offset.top}) }' – MKatleast3
「如果用戶點擊一個標記,頁面滾動到搜索結果」你能幫我嗎? – UnderDog