0
我有一個文件my_app.js.coffee
並有此設置的谷歌地圖:Rails - 如何在視圖中訪問Google地圖的實例?
map = undefined
initialize = (map) ->
myOptions =
center: new google.maps.LatLng 39.729001, -94.902342
zoom: 3,
mapTypeId: google.maps.MapTypeId.ROADMAP
map = new google.maps.Map $('.map')[0], myOptions
$ ->
initialize(map)
return
然後,如果我在一個視圖中DIV
使用與class="map"
,顯示在地圖。這很酷。
但有時需要設置地圖的差異中心。 在各自的看法,我想這:
<script type="text/javascript">
map.setCenter(43.652976, -79.390409);
</script>
不過,這並不影響地圖的中心。即使在控制檯中出現以下錯誤消息:
Uncaught ReferenceError: map is not defined
我在這裏錯過了什麼?
預先感謝您。
編輯:
buildMap = (callback = ->)->
console.log('xxx')
myOptions =
center: new google.maps.LatLng 39.729001, -94.902342
zoom: 3,
mapTypeId: google.maps.MapTypeId.ROADMAP
console.log('b1')
Gmaps.map = new google.maps.Map $('.map')[0], myOptions
console.log('b2')
#addMarkers(Gmaps.map)
callback()
console.log('ccc')
Gmaps =
buildMap: buildMap
window.Gmaps = Gmaps
遺憾的是還沒有地圖。在這行之後的'console.log'聲明中,不會出現有錯誤的行'Gmaps.map = new google.maps.Map $('。map')[0],myOptions'作爲打印出來的行之後的'console.log'語句嗎? – user984621 2014-12-03 16:27:20
如果你做'$(function(){Gmaps.buildMap() })' – apneadiving 2014-12-03 16:28:29
好消息是,這是工作!謝謝!但是,當我嘗試設置新的中心時,如:$(function(){Gmaps.buildMap(function(){GarageGraph.map.setCenter(43.652976,-79.390409); Gmaps.map.setZoom(5); })})' - 現在什麼都沒有發生,並且控制檯中沒有JS錯誤。 – user984621 2014-12-03 16:35:39