是否有任何事件侦听器来检查 google 地图中 wms 图层是否已加载?

Is there any event listener to check if the wms layer has loaded or not in google maps?

在 React 网络应用程序中,我使用地图的 属性 overlayMapTypes 在 google 地图上叠加 wms 瓦片。

if (map && activeLayer) {
    let layer = new window.google.maps.ImageMapType({
       getTileUrl: activeLayer.type === "wms" ? getTileUrl : getWMTSUrl,
       tileSize: new window.google.maps.Size(256, 256),
       minZoom: 0,
       maxZoom: 24,
       opacity: 1.0,
       isPng: true,
    });
    map.overlayMapTypes.setAt(0, layer);
}

有些图层需要时间来加载。所以,我想在图层显示时显示微调器或消息 正在加载。是否有事件获取它的状态以检查它是否仍在加载或加载完成?

有一个事件侦听器 tilesloaded,但这是针对 google 地图基础图块,而不是针对叠加的地图图块。

  useEffect(() => {
    if (map) {
      map.addListener("tilesloaded", () => {
        console.log("Tiles Loaded");
      });
    }
  }, [map]);

tilesloaded 事件侦听器也可用于 ImageMapType

      let layer = new window.google.maps.ImageMapType({
        getTileUrl: activeLayer.type === "wms" ? getTileUrl : getWMTSUrl,
        tileSize: new window.google.maps.Size(256, 256),
        minZoom: 0,
        maxZoom: 24,
        opacity: 1.0,
        isPng: true,
      });

      map.overlayMapTypes.setAt(0, layer);

      layer.addListener("tilesloaded", () => {
        console.log("Overlay tiles loaded");
      });