Google maps 谷歌地图动画ImageMapType覆盖

Google maps 谷歌地图动画ImageMapType覆盖,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我一直在阅读和研究如何制作叠加动画。我还没有找到任何与我要找的相关的东西。主要与标记物有关。我有一个覆盖我这样申请,它的工作非常好 tileNEX=new google.maps.ImageMapType({ getTileUrl:函数(平铺、缩放){ 返回“http://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-900913/“+zoom+”/“+tile.x+”/“+tile.y+”.png?”+(新日期()).getT

我一直在阅读和研究如何制作叠加动画。我还没有找到任何与我要找的相关的东西。主要与标记物有关。我有一个覆盖我这样申请,它的工作非常好

tileNEX=new google.maps.ImageMapType({
getTileUrl:函数(平铺、缩放){
返回“http://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-900913/“+zoom+”/“+tile.x+”/“+tile.y+”.png?”+(新日期()).getTime();
},
tileSize:new google.maps.Size(256256),
不透明度:0.60,
名称:“NEXRAD”,
isPng:是的
});
数据来源还提供了其他10张过去的图片。所以我想用这些提要创建一个动画循环。这个选项在V3中是否可用,因为我已经读到了与此相关的一些冲突。我的意思是这一定是可能的,因为我见过其他人用它。我将如何加载多个层,然后设置它们的动画


-谢谢

我知道这很旧,但我希望这能帮助其他人寻找同样的东西。这可能不是最优雅的解决方案,但它完成了任务。我只需在创建ImageMapTypes的预定义图像URL上进行映射,然后将其传递到动画循环,该循环检查地图上是否有层,清除是否有层,然后根据循环计数设置新层。希望这有帮助

var map;
// Weather tile url from Iowa Environmental Mesonet (IEM): http://mesonet.agron.iastate.edu/ogc/
var urlTemplate = 'http://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-{timestamp}/{zoom}/{x}/{y}.png';
// The time stamps values for the IEM service for the last 50 minutes broken up into 5 minute increments.
var timestamps = ['900913-m50m', '900913-m45m', '900913-m40m', '900913-m35m', '900913-m30m', '900913-m25m', '900913-m20m', '900913-m15m', '900913-m10m', '900913-m05m', '900913'];

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: 38.0781, lng: -97.7030},
    zoom: 5
  });

  let tileSources = timestamps.map((timestamp) => {
    return new google.maps.ImageMapType({
      getTileUrl: function(tile, zoom) {
          const { x, y} = tile;
          return `https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-${timestamp}/${zoom}/${x}/${y}.png?`+ (new Date()).getTime();
      },
      tileSize: new google.maps.Size(256, 256),
      opacity:0.60,
      name : 'NEXRAD',
      isPng: true
    });
  });

  startAnimation(map, tileSources);
}

function startAnimation(map, layers) {
  // create empty overlay entry
  map.overlayMapTypes.push(null);
  var count = 0;
  window.setInterval(() => {
    if(map.overlayMapTypes.getLength() > 0)
      map.overlayMapTypes.clear();

    map.overlayMapTypes.setAt("0",layers[count]);
    count = (count + 1) % layers.length;          
  },800);
}

我们可以使用这个api从世界其他地方获取雷达数据吗@Dan@swifty我想说看看爱荷华州州立大学(爱荷华州环境中观网)的网站,因为它确实提供了其他气候数据。我使用的是NEXRAD数据,它似乎是美国、阿拉斯加、夏威夷、美国领土和美国军事基地的唯一雷达。