Skip to content

fix: Apple Maps marker scale and callout positioning#41

Merged
lodev09 merged 9 commits intomainfrom
fix/apple-marker-scale
Mar 18, 2026
Merged

fix: Apple Maps marker scale and callout positioning#41
lodev09 merged 9 commits intomainfrom
fix/apple-marker-scale

Conversation

@lodev09
Copy link
Collaborator

@lodev09 lodev09 commented Mar 18, 2026

Summary

  • Debounced rasterize for marker scale: uses live iconView transform during rapid updates, rasterizes after 150ms idle to avoid expensive image generation per frame
  • Fixed callout content flashing at wrong position by deferring visibility until positioned
  • Fixed Google Maps callout show deferred until after scale applies
  • Fixed centerOffset calculation for non-default anchors
  • Cancel pending rasterize block on marker removal to prevent use-after-free

Type of Change

  • Bug fix

Test Plan

  • Example app: tap markers to toggle 3x scale, verify smooth scaling and correct anchor positioning
  • Verify callouts appear at correct position without flash
  • Verify marker removal during scale transition doesn't crash

Checklist

  • I tested on iOS
  • I tested on Android
  • I tested on Web
  • I updated the documentation (if needed)

lodev09 added 9 commits March 19, 2026 04:57
- Reset iconView transform before reading bounds to avoid undefined frame reads
- Set bounds/center before applying scale transform so icons actually scale
- Fix centerOffset x-component sign (was inverted for non-centered anchors)
Use dispatch_after debounce instead of hard-coded delta threshold
to detect scale changes. Live iconView is used during rapid updates
to avoid expensive rasterization per frame.
@lodev09 lodev09 merged commit 66a2acb into main Mar 18, 2026
3 checks passed
@lodev09 lodev09 deleted the fix/apple-marker-scale branch March 18, 2026 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant