Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图:更新图像覆盖_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图:更新图像覆盖

Javascript 谷歌地图:更新图像覆盖,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在尝试动态更新谷歌地图上的图像覆盖。我可以创建一个新的覆盖对象,但我不知道如何修改它。我可以更新覆盖图像对象吗 var overlayImage = new google.maps.GroundOverlay("myimage.png", imageBounds); 我想在缩放更改时修改叠加图像,但我无法通过该函数传递它。我在“地图”对象中也找不到它 google.maps.event.addListener(map, 'zoom_changed', function(overlayIma

我正在尝试动态更新谷歌地图上的图像覆盖。我可以创建一个新的覆盖对象,但我不知道如何修改它。我可以更新覆盖图像对象吗

var overlayImage = new google.maps.GroundOverlay("myimage.png", imageBounds);
我想在缩放更改时修改叠加图像,但我无法通过该函数传递它。我在“地图”对象中也找不到它

google.maps.event.addListener(map, 'zoom_changed', function(overlayImage) {

}

当缩放级别更改时,如何更新myimage.png?

我认为问题在于,添加事件侦听器时,覆盖图像超出范围

作为测试,尝试全局声明变量,然后稍后分配变量

/* top level */
var overlayImage;
...
/* later on */
overlayImage = new google.maps.GroundOverlay("myimage.png", imageBounds); 
在javascript中,您不能简单地在函数中传入一个变量,并希望它能够获取您之前声明的内容。可能发生的另一件事是,事件侦听器将事件对象作为回调函数中的第一个参数传递,但您将其命名为overlayImage,因此在该回调中,overlayImage的上下文实际上就是事件对象。您可以执行以下操作:

google.maps.event.addListener(map, 'zoom_changed', function(event) {
    /* overlayImage can now be used */
    overlayImage.someAPIFunction();
}