Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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_Jquery_Google Maps_Maps_Panning - Fatal编程技术网

Javascript 谷歌地图可以设置为缓慢的恒定平移吗?像一场全球革命?

Javascript 谷歌地图可以设置为缓慢的恒定平移吗?像一场全球革命?,javascript,jquery,google-maps,maps,panning,Javascript,Jquery,Google Maps,Maps,Panning,正如标题所说。我正在寻找一个解决方案,但我没有找到任何指导我找到正确的文档或文章 如果您有任何想法或可以给我指出一个可能的解决方案,我将不胜感激 谢谢你自己可以这样做: // Create your map and leave it in the "map" variable. setInterval(function() { map.panBy(x, 0); }, n); var map = new google.maps.Map(document.getElementById('m

正如标题所说。我正在寻找一个解决方案,但我没有找到任何指导我找到正确的文档或文章

如果您有任何想法或可以给我指出一个可能的解决方案,我将不胜感激


谢谢你自己可以这样做:

// Create your map and leave it in the "map" variable.
setInterval(function() {
    map.panBy(x, 0);
}, n);
var map = new google.maps.Map(document.getElementById('my-map'), mapOptions)
function animate () {
  map.panBy(2.5 / 2, 1.3 / 2)
  window.requestAnimationFrame(function () {
    animate()
  })
}
// eslint-disable-next-line
google.maps.event.addListenerOnce(map, "tilesLoaded", function () {
  window.requestAnimationFrame(function () {
    animate()
  })
})
window.requestAnimationFrame(function () {
  animate()
})
  • 用于设置要定期运行的函数
  • 该函数将调用GoogleMap对象来稍微“旋转”它
这应该给你一个简单的动画,做你想要的。您需要调整为
setInterval
指定的时间间隔,以获得平滑的效果。你应该有这样的东西:

// Create your map and leave it in the "map" variable.
setInterval(function() {
    map.panBy(x, 0);
}, n);
var map = new google.maps.Map(document.getElementById('my-map'), mapOptions)
function animate () {
  map.panBy(2.5 / 2, 1.3 / 2)
  window.requestAnimationFrame(function () {
    animate()
  })
}
// eslint-disable-next-line
google.maps.event.addListenerOnce(map, "tilesLoaded", function () {
  window.requestAnimationFrame(function () {
    animate()
  })
})
window.requestAnimationFrame(function () {
  animate()
})

选择合适的
x
n
值取决于您。

可以接受的答案,但有点过时。您应该使用
window.requestAnimationFrame
,而不是
window.setInterval
。这将为您提供更平滑的动画

可以找到一个简单的例子(不是我的),但其要点如下:

// Create your map and leave it in the "map" variable.
setInterval(function() {
    map.panBy(x, 0);
}, n);
var map = new google.maps.Map(document.getElementById('my-map'), mapOptions)
function animate () {
  map.panBy(2.5 / 2, 1.3 / 2)
  window.requestAnimationFrame(function () {
    animate()
  })
}
// eslint-disable-next-line
google.maps.event.addListenerOnce(map, "tilesLoaded", function () {
  window.requestAnimationFrame(function () {
    animate()
  })
})
window.requestAnimationFrame(function () {
  animate()
})