Javascript 使用用户输入更改google地图的缩放级别

Javascript 使用用户输入更改google地图的缩放级别,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我正在尝试根据用户输入更改谷歌地图的缩放级别 <script type="text/javascript"> var map; function initMap() { var uluru = {lat: 37.7749, lng: -122.4194}; var map = new google.maps.Map(document.getElementById('map'), { zoom: 10,

我正在尝试根据用户输入更改谷歌地图的缩放级别

<script type="text/javascript">

    var map;

    function initMap() {    
    var uluru = {lat: 37.7749, lng: -122.4194};    
    var map = new google.maps.Map(document.getElementById('map'), {    
    zoom: 10,    

       // standard google map javascript

    } //end of initMap() 


    $('#id_zoomlevel').on('change', function() {
       var zoomlevel = $('#id_zoomlevel :selected').attr('value');
       map.setZoom(zoomlevel);
    });

</script>

如何将now set map变量传递到to'on change'函数中?

您正在
initMap()函数中声明新的
map
变量

<script type="text/javascript">

    var map;

    function initMap() {    
    var uluru = {lat: 37.7749, lng: -122.4194};    
    map = new google.maps.Map(document.getElementById('map'), {    
    zoom: 10,    
    . . . . . . standard google map javascript .....


    $('#id_zoomlevel').on('change', function() {
       var zoomlevel = $('#id\_zoomlevel :selected').attr('value');
       map.setZoom(zoomlevel);
    });

</script>

var映射;
函数initMap(){
var uluru={lat:37.7749,lng:-122.4194};
map=new google.maps.map(document.getElementById('map'),{
缩放:10,
……标准谷歌地图javascript。。。。。
$('#id_zoomlevel')。在('change',function()上{
var zoomlevel=$('id\'u zoomlevel:selected').attr('value');
map.setZoom(zoomlevel);
});

使用全局映射变量而不是局部变量

您的问题是
map
既是
initMap
方法的局部变量,也是全局变量。在
initMap
方法中执行
var-map
时,您将创建一个属于
initMap
方法的新
map
变量方法,并且不更改外部全局变量
map
。因此,它与此类似:

var-b;
函数a(){
var b=“foo”;//在“a”中创建一个新的“b”变量(因此不修改外部的“b”变量)
}
a();
console.log(b);//无法访问'a'之外的'b'(类似于'initMap')
<script type="text/javascript">

    var map;

    function initMap() {    
    var uluru = {lat: 37.7749, lng: -122.4194};    
    map = new google.maps.Map(document.getElementById('map'), {    
    zoom: 10,    
    . . . . . . standard google map javascript .....


    $('#id_zoomlevel').on('change', function() {
       var zoomlevel = $('#id\_zoomlevel :selected').attr('value');
       map.setZoom(zoomlevel);
    });

</script>