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>