Confused with Apple Map Vs Google Map - ios

This might be a very stupid question for some people but I want to be make sure about this.
In iOS6 Apple has updated its Map application and added his own map. Now if I develop any native application and include map(MKMapView) into this so are their any changes which I should be aware of them?
Previously, I was using Google web service to fetch the latitude and longitude between two locations and draw direction. Does Apple provide its own web services for the same?

are their any changes which I should be aware of them?
MKMapView will still work fine, but the map it displays will look a little different. Also, if you limit your app to iOS versions that use only Apple's maps, you might not be subject to Google's terms and conditions. Read your agreements.
Does Apple provide its own web services for the same?
There's CLGeocoder. It's a class, not a web service, but that just makes it easier to use.

Using MKMapView framework didn't change just because the images are different. It should work fine.

Google's Terms Of Service say that you can't show their data on someone else's maps. So if your app is still getting data from a Google webservice you'll need to use the Google Map SDK that they have put out, not the usual MKMapView on iOS 6+.
If you are only using Google's webservice to turn a human readable address into lat/long then you can do that using CLGeocoder as Caleb suggested, but Google offer other services too.

Related

IOS - How to provide suggestions when inputting locations

How do you implement suggestions when a user starts typing in their city/location into an iOS app text field? For example, if you look at the yelp or maps app, when you start typing in a city it will provide suggestions based on what you start typing. Is there a way to do this, like somehow get a list of all the CLRegions in the CoreLocation framework, or some other way of implementing this?
Thanks for any help.
The best solution for this is to use someone else's (web-based) geocoding database - geocoding is a complex problem that you don't want to solve yourself :-). Geocoding is the act of taking a textual address and turning it into a latitude/longitude. Typeahead for geocoding is a helpful feature that requires fairly large databases that likely aren't suitable for mobile apps, thus my recommendation to use one of the web-based geocoding services for this.
Google's places API is probably a good candidate:
https://developers.google.com/places/documentation/autocomplete?csw=1
Check out this answer for some commentary from Google from 2011 when they first opened up that API in 2011:
Google Places API in iOS application

Accessing Map Tiles of MKMapView

I'm currently developing an app that needs to display a map of where the user is currently located in the world. For technical reasons, I need to access every map tiles as an image (png/jpg) before going in the rendering pipeline.
I have tried 3rd party services like MapBox, MapQuest as they have a REST api that enables me to receive a png/jpg of a tile according to the requested location. The issue here is that MapBox isn't free, so I was wondering if there was a way to access the tiles that Apple provides in it's maps app. What service are they using under the hood? Would I be violating some terms of use by going with this approach.
Please note that using some integrated "do-it-all" UIMapView is not an option for me, I need the image directly.
Thanks
Google has a REST API. You can see the details here https://developers.google.com/maps/documentation/staticmaps/?csw=1. It does cost money if you go over the usage limits.
I manually download Map Tiles for my app, but I don't use MKMapKit. I have my own MapView and I am using a combination of MapBox, Thunderforest, CalTopo, OSM, and map tiles that I generated and host on AWS. All of them have a pretty easy map tile URL scheme, but you do have to pay for most of them.

Using Google Maps to store custom set of locations (iOS Google Maps SDK)

Create mobile application, which gives the user ability to look for certain places (payment terminals) nearby and to add new ones. Of course user will have ability to edit places, change some of their meta-info fields, add photos, etc.
I can understand, how to implement such things at the mobile device side(i mean interface and model), but can't imagine, what i have to do at the "google-side" to store locations and get them to device.
I'm looking through developers.google.com for appropriate service, but google have so much different "Maps" services and their variety makes me disappointed, which one can give me necessary instruments.
I'm sorry, if my question is too stupid but i can't realize how to implement such functionality.
If anybody ever made such applications, please help me to find, at least, the service, which can help me to implement such functionality. Sample code at github will be the great!
You're looking to build a "back-end" or a database to store the locations that you are interested in. This means that you will save them on a server, that you will access through requests over the internet from your iPhone.
For a really simple back-end to set up, check out Parse that is very simple to implement.

Google Places API Violation

I am using Google Places API to pull a list of resturants, and I am displaying them on map. However, since Apple has switched there map services over from Google in iOS 6.0, I am now in violation of Google's terms of use, which states that you must display Google data on a Google map.
"If your application displays Places API data on a map, that map must be provided by Google."
https://developers.google.com/places/policies#terms_of_use
I obviously need to change the map, because I am not going to release an application that is in violation. Any thoughts or suggestions on what to do? Should I go Google Maps with a web view? Does apple have some sort of Google Places API alternative?
Edit:
Using Google Maps through a web view is a hassle, i'd like to find an alternative to that, although it would technically work.
I decided to use Google Maps JavaScript API. Although, it is a little more difficult to deal with, mainly the JavaScript through Objective-C, it is a solution. The map is displayed through a web view, and I use JavaScript to interact with the map.
https://developers.google.com/maps/documentation/javascript/tutorial#api_key
I will wait to accept this answer, to see if anyone else has any thoughts. I just wanted to post this, in case it helps someone else.
Edit:
Google recently released a Maps SDK for iOS, this is the better solution now.
https://developers.google.com/maps/documentation/ios/
I would try to directly contact Google, explaining the situation, and ask them for written permission to use Apple's maps. This is more a legal question than programming. One would think that Google is aware that you can no longer display their maps using Apple's API and that, even regardless of the map, they would want you to use their places, as doing so generates advertising revenue for them.
Agree with #Owen here - you could get permission to leave your app unchanged until some possible future date when you might have to change it, or could you definitely go to the effort of changing it now and then possibly have to change it again in the future for some other reason.
If you could get a 100% guarantee that you could change it once and never have to change it again then I'd say do it now, but nothing's certain.

MKMapView - How to load all default Apple annotations

I am developing a app that is going to use a map. I was wondering how to load all the POIs that already appear on the default Apple's map app?
Cheers
There's at least no built in functionality in MapKit. You'll have to use Google's webservices to fetch those POIs (like Places API). You should have a look at the Google Places API Web Services!
I'm not sure why your question was voted down, I guess you need to do some self-research before posting any questions. A lot of times, similar questions have been asked. You just need to look.
Hope this helps.

Resources