This also makes me wonder how much does it cost to run a Map services. I assume the actual server and bandwidth cost are negligible. But the updating and Data would be the most expensive part. But what incentive does Apple have to open this up?
This also makes me wonder how much does it cost to run a Map services. I assume the actual server and bandwidth cost are negligible. But the updating and Data would be the most expensive part. But what incentive does Apple have to open this up?
The way protomaps does this is by serving a single large file with all the map data via bucket storage and then using lambda functions + CDNs to extract tiles from there on demand. So, they don't pre-calculate the tile files and this simplifies the update process to replacing a single file. The CDN caches the extracted tiles so this is relatively cheap and doable even for small startups. So, this minimizes compute and storage.
Generating the map tiles requires a bit of compute obviously but it's a constant overhead; and they have to do this anyway for their native apps.
Probably the hardest part for them was building a hardware accelerated render engine for the web. Similar to Maplibre, Google Maps, etc. That would explain why it doesn't work on Firefox as well. And obviously Safari is a bit lagging with things like web GPU and WASM that I imagine would be useful for this.
https://appleinsider.com/articles/22/08/21/apple-maps-could-...
Makes more sense if you consider that.
Seems you already figured it out: Access to more data / updates. Hence the "Have a Business on Maps?" being a prominent feature.
You need quite a lot of infrastructure:
1. map tiles
2. satellite view
3. geocoding. Where you have several services like forward, reverse, IP2coord. Likely also different services for different countries.
4. A-B routing. Again with several services like car, bike, walking and transit. Especially transit is a completely different thing. Also traffic data requires a different data pipeline.
5. ratings / reviews
6. user data (when logged in) for preferences etc