If you want to allow your users to search for places in your app, then you can use one of two frameworks: MapKit or Google Places SDK, today we will do a comparison between Mapkit and Google Places SDK.
MapKit is the integrated Apple solution.
Whereas, Google Places SDK is an external framework created by Google.
Please check the below links to integrate both maps in your application.
https://medium.com/better-programming/easy-google-maps-setup-tutorial-swift-4-f6d5c093817e
https://mobikul.com/how-to-integrate-apple-map-in-swift/
Now, let’s do a comparison between Mapkit and Google Places SDK for different attributes.
Installation for Mapkit vs Google Places SDK
Mapkit
iOS frameworks are already integrated with Mapkit. There is nothing required to do before using it.
Google Places SDK
Unlike Mapkit, Google Places SDK is an external framework created by Google. There are two steps to integrate the framework.
Step 1: Register for Google API on The Google Cloud Platform Console
Step 2: Then, you need to install pod ‘GooglePlaces’ in your project.
Code in Mapkit vs Google Places SDK
The code logic is same for both frameworks.
Mapkit
But in Google Places SDK you can search and retrieve information with one request in Mapkit.
Google Places SDK
The number of requests depends on the information you need.
For details like name and address, the search request is enough. But if you need more, like the phone number or the website, you will need to fire a second request.
For Google Places, the search request is called the autocomplete request.
Data in Mapkit vs Google Places SDK
Now, here comes the major difference between both APIs.
Mapkit
MapKit provides only one request for searching and retrieving data, but the data you get is limited.
You will have access to the:
- Name of the place
- Location
- Category of the establishment
- Phone number
- Website
The API will provide only one category per location, others are optional here and you might not get them all.
Google Places SDK
Google Places can provide a lot more information, but retrieval is a little more complicated. Depending on the information you need, you may need to fire multiple requests.
With the search request, you will receive an ID, Name, and a one-line Address.
You will need to send a second request for the rest of the information.
For example, if you need the phone number and the website, you will specify GMSPlaceFieldPhoneNumber and GMSPlaceFieldWebsite in the request.
If you do not specify anything, the request will return all possible information. As we will see in the next section, this will impact the cost of the request.
You can see all the possible fields here.
Price of Mapkit vs Google Places SDK
Mapkit
MapKit is free. You can send as many requests as you want.
Google Places SDK
The Google Places SDK offers multiple endpoints. The first one for the search is cheap and used when users look for a place. With each letter added to the search, the application sends a new request.
The price of the search request is $2.83 per 1,000 requests.
You can check the price of all requests on Google Places pricing chart.
Conclusion
Both APIs let you start getting information very quickly. Both APIs’ minimum code is accessible to all developers and has lots of documentation on the web.
The real difference between MapKit and Google Places is the relationship between the data, the price, and your use case.
For prototyping or a small application, with information like name and phone number, MapKit is the solution.
If you want more information, like opening hours, photos, and reviews, you will have to use Google Places. But this option means you will have to take the cost into account.
Thanks for reading 🙂