繁体   English   中英

单击按钮以加载地图图层,尽管有函数定义了该变量,但仍返回未定义的变量(src)吗?

[英]Clicking a button to load a map layer, a variable (src) is returned as not defined, despite a function defining it?

嗨,我在网站上有一个按钮,当用户单击它时,应该在Google地图上加载一个图层(kml文件)。

单击该按钮可运行三个功能。 1.定义什么是src(对kml文件的url调用)的函数。 (此处使用串联)。2.加载KML文件的函数。3.初始化地图的函数。

问题是地图加载,但图层没有加载。 控制台日志显示在步骤1中创建了正确的url,但日志中还说未定义src,我只能假定步骤2和3未读取步骤1!

这是代码:

<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);
 }
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM