2016-08-10 6 views
-1

왜 작동하나요?OpenLayers3를 사용하는 전역 JavaScript 변수

function addMap() { 
    var view = new ol.View({ 
    center: ol.proj.fromLonLat([29.5646, 44.1575]), 
    zoom: 4 
    }); 
    var map = new ol.Map({ 
    target: 'map', 
    layers: [ 
     new ol.layer.Tile({ 
     source: new ol.source.OSM() 
     }) 
    ], 
    view: view 
    }); 
} 

... 이것은 아닙니다.

var view = new ol.View({ 
    center: ol.proj.fromLonLat([29.5646, 44.1575]), 
    zoom: 4 
}); 

function addMap() { 
    var map = new ol.Map({ 
    target: 'map', 
    layers: [ 
     new ol.layer.Tile({ 
     source: new ol.source.OSM() 
     }) 
    ], 
    view: view 
    }); 
} 

변수가 함수 외부에 있으면 전역 변수이고 다른 모든 곳에서 사용할 수 있다고 생각했습니다.

+0

"작동하지 않음"을 정의 하시겠습니까? 'ol.View'가 실행될 때 생성자 함수로 사용될 수 있습니까, 아니면'addMap'이 실제로 호출 될 때까지만 준비가되어 있습니까? –

+0

보기를 사용하고 회전을 변경하는 다른 함수를 만들고 싶습니다. 예 : function angleRight() { view.setRotation (view.getRotation + 1); }' 을 입력하고 버튼을 누르면 호출됩니다. –

+0

당신은 여전히 ​​* 어떻게 * 작동하지 않는지 설명하지 않았습니다. – kryger

답변

0

문제는 문서가 당신이

에이 모든 것을 할 수있는 신체의 끝 또는
  • 에 자바 스크립트 코드를 이동

  • 그래서

      로드되기 전에 문서에 자바 스크립트를 실행하는 것입니다
      $(document).ready(function() { 
      var view = new ol.View({ 
      center: ol.proj.fromLonLat([29.5646, 44.1575]), 
      zoom: 4 
      } 
      
  • +0

    그것은 그 것이었다! 감사 –

    관련 문제