The prompt shows
At every launch, once the map is ready — never on top of the loading screen.
showsThree taps, and the app launches from your home screen: full screen, no address bar, with its map tiles already cached. The button you tap is not in the same place on iPhone and on iPad — pick your device.
No more address bar or tabs: the map gets back the height they were taking.
The icon opens the app without going through the browser, and the basemap already downloaded stays cached.
Yes — with one caveat, and it changes how you code it. Safari cannot know whether you installed the app: the icon puts a shortcut outside its reach, and for a long time iOS gave the installed app storage separate from the browser's. A “done” flag set in Safari would never be read back by the app, nor the other way round.
But that answer is not needed: the right question is “am I already running installed?”, and the app knows that by itself. As long as it opens in Safari, the prompt comes back; opened from the icon, it never shows again — with nothing to remember.
At every launch, once the map is ready — never on top of the loading screen.
showsThe app runs full screen: the display mode says so — nothing to remember, and no risk of seeing it again in flight.
silentSafari cannot tell. Hence the “Already done” button, which sets a local flag — and “Later”, which only lasts the session.
once, then your callThe prompt as it appears in the app, cut from the same glass as the cockpit.