Esri/esri-leaflet-vector

Switching basemaps can sometimes cause tiles to not render

arschmitz opened this issue · 2 comments

Describe the bug

When using multiple basemap layers controlled by the standard leaflet layer control some times when switching layers the new layer will not render.

Reproduction

  • Load a basic map with multiple basemap layers
  • zoom in and switch layers (should work correctly)
  • pan several screens distance
  • switch layers again (layer will not render)
  • panning map will cause the map to render correctly

Logs

No response

System Info

System:
    OS: macOS 11.2.3
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 469.50 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 16.15.0 - ~/.nvm/versions/node/v16.15.0/bin/node
    npm: 8.5.5 - ~/.nvm/versions/node/v16.15.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Browsers:
    Chrome: 105.0.5195.102
    Firefox: 104.0.2
    Safari: 14.0.3
  npmPackages:
    esri-leaflet: ^3.0.8 => 3.0.8
    esri-leaflet-vector: ^4.0.0 => 4.0.0
    leaflet: ~1.8.0 => 1.8.0
    leaflet.markercluster: ^1.5.3 => 1.5.3

Additional Information

No response

@arschmitz can you post a basic reproduction of this issue? It would help when debugging.

I am having this issue also. Tiles frequently do not render when I switch between the hillshade and non-hillshade version of basemaps. There is an additional problem as well. When a "L.esri.Vector.vectorBasemapLayer" is used with Leaflet's standard layers controls (the control that allows users to switch between multiple basemaps), the map sometimes gets drawn in the wrong position immediately after the basemap is switched. It self-corrects as soon as the user pans the map.

https://www.bandersgeo.ca/vector-tile-test/esri-vector-basemap-layer.html

It's even more apparent when there are marker icons on the map. Those icons appear to be out-of-position relative to the basemap, but it's actually the basemap that's out of position relative to the markers. This problem doesn't seem to exist for other types of layers (such as the old raster basemap). The new vector basemap seems to be working fine when we don't use it with the standard layers control.