[英]Center map on marker with Google-Maps-for-Rails and Rails 4
我在我的應用程序上使用Google Maps-for-Rails 。 我的house
對象具有latitude
和longitude
屬性。 我的控制器將這些東西放到一個數組中,並將其傳遞給我認為的javascript:
def show
@hash = Gmaps4rails.build_markers(@house) do |house, marker|
marker.lat house.latitude
marker.lng house.longitude
end
end
該視圖如下所示:
<div style='width: 800px;'>
<div id="map" style='width: 800px; height: 400px;'></div>
</div>
<script type="text/javascript">
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
handler.getMap().setZoom(10);
});
</script>
現在,它完全正常。 但是在初始地圖視圖上,我的標記始終位於左上角。 我希望它明顯位於地圖中間。
我試過了什么,將這一行添加到腳本中並沒有做任何事情:
handler.map.centerOn({ lat: markers[0].lat, lng: markers[0].lng });
我該怎么做才能使標記位於中間?
編輯:好的,感謝Zsolt,我發現加載地圖時選項卡的不活動導致了問題。 一旦用戶單擊選項卡,我現在想做的就是更新地圖。 由於我的JavaScript確實很糟糕,因此我將需要一些幫助。 那就是我現在所得到的:
$('#tab_location').on('shown.bs.tab', function (e) {
var myLatlng = {lat: gon.lat, lng: gon.lng};
var map = document.getElementById('map');
map.setCenter(myLatlng);
});
如您所見,我正在使用gon來獲取javascript的正確坐標。 捕捉坐標工作正常,但其余坐標將導致此錯誤:
TypeError: a is undefined
a是Google Maps腳本中的某種變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.