Google Maps v3的tileloaded事件

4
我一直在尝试创建一个“正在加载图像”的消息,而谷歌地图的瓦片正在加载。我的实现基本上是这样的:
  • maptypeid_changedidle事件触发时,显示加载消息。
  • 只要tilesloaded事件触发,就会删除加载消息。
我面临的问题是:
  • 当地图的瓦片已经加载(例如在缓存中或来自先前的平移操作),则不会触发tilesloaded事件。
  • 如果地图视图的瓦片没有完全加载并且我更改了地图类型,则tilesloaded事件会触发两次。我通过设置标志来解决,以查看地图类型更改是否跟随tilesloaded事件,如果没有,则代码会在接收到maptypeid_changed事件后丢弃它所接收到的第一个tilesloaded事件。
由于没有aretilesloaded函数,有没有办法在显示加载消息之前检查瓦片是否已经加载。此外,是否有方法可以避免tilesloaded事件的双重触发,还是必须使用丢弃的方法?
1个回答

0
过去我所做的是,使用CSS将“正在加载”消息设置为地图div的背景图像。这样,当顶部没有标题时,即它们正在加载时,图像始终显示。
您可以查看http://geobetty.com/el-paso-tx/trail-map以了解其工作原理。
我将图像居中。如果您想在没有标题的任何地方都显示加载消息,则只需将CSS背景规则设置为repeat即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接