버튼을 클릭하여지도 레이어를로드하면 변수 (src)가 정의 된 함수에도 불구하고 정의되지 않은 것으로 반환됩니까?

눈 98k

안녕하세요, 웹 사이트에 사용자가 클릭하면 Google지도에 레이어 (kml 파일)가로드되어야하는 버튼이 있습니다.

버튼을 클릭하면 세 가지 기능이 실행됩니다. 1. src (kml 파일에 대한 url 호출)가 무엇인지 정의하는 함수. (여기서는 연결이 사용됩니다.) 2. KML 파일을로드하는 기능 3.지도를 초기화하는 기능.

문제는지도가로드되지만 레이어가로드되지 않는다는 것입니다. 콘솔 로그는 1 단계에서 올바른 URL이 생성되고 있음을 보여 주지만 로그에는 src가 정의되지 않았다고도 표시됩니다. 1 단계가 2와 3에서 읽히지 않는다고 가정 할 수 있습니다 !!!

다음은 코드입니다.

<button class="button1" onclick="myFunctiongr(); loadKmlLayer();        initialize()">R</button>
<script>
 function myFunctiongr(){
  var gr = [];
  gr.push(url.join('')); *This calls a word from another var*
  var name = gr[0];
  var map; 
  var src = "https://www.dropbox.com/s/mziks0p2lkq4dqb/"+name+".kml?dl=1";
  console.log(src);
 }


function loadKmlLayer(src, map) {
  var kmlLayer = new google.maps.KmlLayer(src, {
    suppressInfoWindows: true,
    preserveViewport: false,
    map: map
  });
}


function initialize() {
  var mapCanvas = document.getElementById('map');
  var mapOptions = {
      center: new google.maps.LatLng(51.50275896, -0.11535645),
      zoom: 10,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(mapCanvas, mapOptions)

    loadKmlLayer(src, map);
}
    google.maps.event.addDomListener(window,initialize);
   </script>
의지

이것을 읽으십시오 :

http://www.sitepoint.com/demystifying-javascript-variable-scope-hoisting/

그런 다음 시도하십시오.

<script>
 var src;

 function myFunctiongr(){
  var gr = [];
  gr.push(url.join('')); *This calls a word from another var*
  var name = gr[0];
  var map; 
  src = "https://www.dropbox.com/s/mziks0p2lkq4dqb/"+name+".kml?dl=1";
  console.log(src);
 }
...

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관