Map in iOS app

Navigation is a crucial part of many mobile applications today. We might not even realise that behind something simple as finding car for rent, food delivery or Pokemon hunting there are some big tech: GPS (satellites in the Space!!!), Google/Apple/Microsoft maps services and, of course, intelligent mobile device with plenty of microcircuit. In FitRadar we use maps services to help trainers set training location by selecting some infrastructure object (gym, stadium, public location) or set some point in unnamed location by the river or lake for many open area activities like yoga, cycling or as simple as walking.

There are simple and clear requirements for map services:

  • present map to set a point for location
  • clustering (show single point on map with number of events instead of plenty points)
  • address search

Personally I try to utilise native platform solution (when it exists) for any problem. Obviously, I started with MapKit. But there is no way to ignore Maps SDK for iOS from Google. Or even check Bing from Microsoft. Integration process for all of them is relatively simple. Some require developer account and developer key creation. But let’s compare how they work.

Map and pin

All three candidates can do simple map presenting and selection random pin with coordinates pretty well. Also displaying simple map vs satellite is very good in all SDKs. Google maps can use

Clustering

Clustering for MapKit is something they support almost out of the box. For Google Map there is custom plugin. Which seems to be supported for a very long time. I wasn’t able to find any Bing map. (Please, share a link in comments if I’m wrong.)

Address search

Google Maps SDK is and absolute winner in this category. For some reason only Google pays attention not only to world wide known places like London or New York, but it also knows something like tiny beach, on border of Riga, Latvia.

Of course, it’s not something you may advertise on WWDC, but local citizen will appreciate when volleyball trainer organise next meeting at “Salaspils pludmale” app will know exactly where it is.

Bonus

Another “+” for Google Map iOS SDK is ability to use app custom colors to match app desing. This design is a JSON file which can be edited manually (or at online editor) and shipped with app bundle.

Again, I wasn’t able to find similar functionality for Apple or Microsoft maps, but, please, feel free to add in comments if they exist.

Conclusion

So, for today, obvious choice is a Google Maps SDK for iOS. I hope some day Apple bring it attention to MapKit and make it useful for all customer around the world, including some tiny country like Latvia.

Except where otherwise noted, this work is in the public domain.

P.S. Visit our website: https://www.fitradar.me/ and join the mailing list. Our app is coming soon.

P.S.S. Text by Dmitrijs Beloborodovs

Fitness and mobile app

Hi ! My name is Dmitrijs Beloborodovs

Fitness become one of the buzzwords along with bitcoin or соvid. The first should eventually stop jumping up and down, the second should go away, yet fitness must stay forever. It is crucial to find a good personal trainer to have a smooth start and keep going for a long time. There is something that might help you with that.

Recently I joined a FitRadar team to help with mobile app development. What is a FitRadar (https://fitradar.me) in a nutshell? Briefly: we bring trainers and audience together. Today, your service must be available via different channels: website, integrated in social media and of course, has its own mobile app. A mobile device knows quite much information about you and your habits: your location, language preferences, your schedule and sometimes even specific health metrics (HealthKit is a good example). In other words, it knows enough to propose you a best fitness trainer or sport community in your area, with respect to your timetable, interest or by your friends recommendation. When you start building something great like this, you want to be sure are are building on solid foundation. Here is the first question you might want to evaluate:

Should I go cross platform or native?

Crossplatform solutions (i.e. Flutter, React Native) might look attractive initially, yet brings problems later: super long polishing to achieve smooth and nice UI/UX to mimic platform (all those bounces and responsiveness, etc) and hard path of integration with platform native hardware (location, calendar, etc). So, for us, answer is go 100% native. Stay tuned to know how well we managed to achieve a primary goal of our mobile app — bring nice experience of finding a sport fo your dreams.

Visit our website: https://www.fitradar.me/ and join the mailing list. Our app is coming soon!

P.S. Source: https://medium.com/@dmi3j/fitness-and-mobile-app-3dca370d8e10