0

나는 파일 my_app.js.coffee을 가지고 Google지도의 설정있다 :레일 - 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 

은 내가 class="map"으로보기 DIV에 사용하는 경우 다음지도가 표시됩니다. 멋지다.

하지만 때로는지도의 차이 중심을 설정해야합니다.

<script type="text/javascript"> 
    map.setCenter(43.652976, -79.390409); 
</script> 

그러나지도의 중심에 영향을주지 않습니다 각각의 관점에서, 나는이 시도. 콘솔에 다음과 같은 오류 메시지가 표시되는 경우에도 :

여기서 내가 무엇을보고 싶습니까?

미리 감사드립니다.

편집 :

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 

답변

1

map는 파일 내부의 지역 변수입니다.

못생긴 수정 당신은 당신의 변수와 종속의 범위에 대해 생각해야 window.map

로 교체하는 것입니다. 그 거대한 주제. 내가 같이 할 거라고 처음부터

은 다음과 같습니다

Gmaps = 
    buildMap: (callback = ->)-> 
    myOptions = 
     center: new google.maps.LatLng 39.729001, -94.902342 
     zoom: 3, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    Gmaps.map = new google.maps.Map $('.map')[0], myOptions 
    callback() 

window.Gmaps = Gmaps 

다음 뷰에서지도를 만들 :

Gmaps.buildMap() 

만들고 변화 센터 :

Gmaps.buildMap(function(){ 
    Gmaps.map.setCenter(43.652976, -79.390409); 
}) 
+0

불행히도 아직지도가 없습니다. 'Gmaps.map = new google.maps.Map $ ('. map') [0], myOptions'와 같은 줄이 잘못되어 있지 않을 것입니다.이 줄 뒤에 아무 것도 출력하지 않는'console.log' 문은 무엇입니까? – user984621

+0

'$ (function() {Gmaps.buildMap() })' – apneadiving

+0

좋은 소식은 작동 중입니다! 감사! 그러나 다음과 같이 새 센터를 설정하려고 할 때 : $ (function() {Gmaps.buildMap (function() { Gmaps.map.setCenter (43.652976, -79.390409); Gmaps.map.setZoom (5); }}})'- 아무 일도 일어나지 않고 콘솔에 JS 오류가 없습니다. – user984621

관련 문제