У меня есть файл my_app.js.coffee
и есть эта настройка Google Maps:Rails - как сделать экземпляр Google Maps доступным во взглядах?
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
Что я могу здесь пропустить?
Заранее спасибо.
EDIT:
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
К сожалению, до сих пор нет карты. Не будет ли что-то неправильное в строке 'Gmaps.map = new google.maps.Map $ ('. Map') [0], myOptions' как оператор' console.log' после этой строки, который выдает что-нибудь? – user984621
Что делать, если вы делаете '$ (function() {Gmaps.buildMap() })' – apneadiving
Отличная новость - это то, что работает! Благодаря! Но когда я пытаюсь установить новый центр, например: '$ (function() {Gmaps.buildMap (function() { Gmaps.map.setCenter (43.652976, -79.390409); Gmaps.map.setZoom (5); })}) '- ничего не происходит прямо сейчас, и никакой ошибки JS в консоли. – user984621