Repository navigation
Clear ground images and raster layers in clearOverlays() too - #13
Merged
Merged
Conversation
clearOverlays() cleared markers, polylines, polygons and circles but not the ground image controller, and nothing removed the raster layers, so both stayed on the map (seen on the tablet: the relief raster still covered the map after clearOverlays()). It is the same kind of gap as the Mapbox circles fixed in "Clear circles in clearOverlays() too". TomTom has no RasterLayerController (rasters are folded into the composed style), so the equivalent of rasterLayerController.clear() is done here: the layers added through the public RasterLayer overlay (publicRasterLayerIds) are removed. Rasters mounted from outside the content, such as marker tiles, are left to their owners.
This was referenced Nov 8, 2026
Stop resync from rewriting sources and layers that did not change
MapConductor/react-for-maplibre#27
Merged
Merged
Stop resync from rewriting sources and layers that did not change
MapConductor/react-for-maptiler#18
Merged
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
なぜ
TomTomMapViewController.clearOverlays()が GroundImage とラスターのコントローラを clear していなかったので、clearOverlays()の後も GroundImage とラスターが地図に残っていました(android-for-mapbox#22 で直した Mapbox のサークルと同じ種類の漏れです)。何を変えたか
clearOverlays()で GroundImage を clear するようにしました。publicRasterLayerIds)を外す形にしました。マーカータイルなど、外から mount したものは持ち主が外すので触っていません。3 プラットフォームの全プロバイダの
clearOverlays()を洗い出し、漏れが見つかったのはこの TomTom と android-for-maptiler の 2 本だけでした。検証
タブレット(HA26Z6JL)の検証用ページで「追加 → 更新 → 一部削除 → 戻す → clearOverlays() → その場で書き換え → 送り直す」を撮りました。直す前はラスターが clear 後も残り、直した後は消え、送り直すと戻ります。実機の地図オブジェクトが要るため、単体テストは足していません。
既知の別件(この PR では直していません): TomTom のラスターがポリライン・GroundImage を覆う重なり順の問題は、重なり順をそろえる別の変更で扱います。
関連 PR(
fix/clear-followupsの一式)それぞれ独立していて、マージの順番の制約はありません(web の変更は js-sdk-core の新しい版を必要としません)。