正如标题所说。我正在寻找一个解决方案,但我没有找到任何能引导我到正确的文档或文章的东西。
如果您有任何想法或可以指出我可以使用的可能的解决方案,我将不胜感激。
谢谢
您可以自己这样做:
- 使用
setInterval
设置函数周期性运行 - 函数将调用谷歌地图对象上的
panBy
来"旋转"它一点。
这应该给你一个简单的动画做你想要的。你会想要调整你给setInterval
的时间间隔,以获得感觉平滑的东西。你应该有这样的内容:
// Create your map and leave it in the "map" variable.
setInterval(function() {
map.panBy(x, 0);
}, n);
选择合适的x
和n
值由您决定。
公认的答案还可以,但有点过时了。你应该用window.requestAnimationFrame
代替window.setInterval
。这将给你一个更流畅的动画。
可以在这里找到一个简单的例子(不是来自我),但它的要点看起来像这样:
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()
})