is it possible to develop turn by turn navigation for ios app? - ios

I am trying to develop turn by turn navigation app for iphone and ipad.
I have been searching these whole day but it seemed like there is no way to build it without having map data api. (I don't think google map provides that api)
Although I can launch google map app in my app but I would like to do it without using google map app. (without using [UIApplication sharedapplicaiton] openURl...etc)
I just would like to ask if it is possible and feasible to build an ios turn by turn navigation app.
Thank you very much

It's pretty difficult to imagine making a navigation app without some source of map data. An alternative to Google Map API is the OpenStreetMap API. Here is a page on developing OpenStreetMap apps for iOS, which includes a list of currently existing apps. So yes, it's feasible.

A large company with many resources can build this type of app. Apple does not provide any type of API for this. You would need a data source for your maps and a data source and algorithm to give directions. You cannot use Google Maps directions in IOS directly. So the answer is yes it's possible but unlikely to make any money in the app store due to the large initial investment and strong competition.

now iOs 6.0 has replaced google map with built in maps that very easy to implement and a lot of features are also built in

Related

Custom Maps for IOS with Navigation

I want a native IOS app with custom offline maps for a certain residential location like a group of buildings OR a large resort, app will be limited to these type of small areas only. With the app users can navigate from one apartment to another and can also see map of all the apartments/flats.
In case of resorts customers can be able to move from lobby to restaurant and then to swimming pool, etc with navigation from the app. They can also see the map of all available locations in the resort and can navigate to any of them through the app.
I am not sure from where to start to accomplish this task. Can anyone please suggest me some SDK OR anything from where I can start working on this app.
Thanks in advance.
I'm pretty sure you can't :/
You will probably have to store your places maps in your own format.
you can do this using google maps street view. you need to integrate google map SDK in your IOS application and implement the 3D street view.
Check out this links:
1) https://developers.google.com/maps/documentation/ios-sdk/streetview
2) https://www.google.com/maps/streetview/#
3) http://thenextweb.com/google/2015/09/03/googles-new-street-view-app-lets-you-upload-your-own-360-images/
Your requirement is nothing more than Offline Navigation ios doesn't have any sdk support to this, but you can achieve this by
using Ibeacons (bluetooth low energy devices)
using wifi triangulation
in both the cases you need to do lots of calculations like trilaterations and it doesn't have any guarantee for the accuracy the following links may help you all the best
beacons for indoor navigations
sdk
radious network
estimote

Is Google Maps IOS SDK free to use?

We have a commercial web application and we are planning to develop android and iOS apps(free) for our customers
Is google maps ios sdk is free to use in my app?
we want to open google maps app from our app using custom url scheme to show driving directions. Does this approach have any restrictions?
There is nice FAQ about your questions on Google Developers website:
Is google maps iOS SDK free to use in my app?
Yes
we want to open google maps app from our app using custom url scheme to show driving directions. Does this approach have any restrictions?
Google Map API for Business - Usage Limits
The google maps iOS sdk is free for use. i have already integrated google map api functionality on one of my phonegap application. After making some minor changes in to the sdk you can enable the real time navigation on the google map as well.
so you can do a lot with the google sdk.
Hope this will help.
It actually depends, if you are using advanced feature eg Street View, it charges, but for basic feature, it is free for native app, but JS query is not free (eg wrapped by Webview) is not free.
Checkout the official website for more detail and accrete information: https://developers.google.com/maps/documentation/ios-sdk/usage-and-billing

Routing Data for MKMapKit in iOS6

I have done routing in iOS apps before, but with iOS6 we are now displaying Apple maps - which causes a problem because we are using Google routing data and if we use Google data, we are supposed to be displaying it on a Google map.
I have been searching but as far as I can tell, Apple does not provide any routing data. The closest thing to an answer so far seems to be when Apple says Apps that consume direction information do so by sending an appropriate request to the Maps app, which then handles the task of displaying that information to the user. - which, to me, means that the Maps app would be opened to display the route, and taking the user out of our app.
Where can we get on-the-fly routing data that is acceptable to use on iOS6 apps using Apple's maps?
You could use MapQuest's Open Directions API. It is free and it does not seem to have any limit. They also have a licensed API with a free daily limit.
I believe you are only required to put their logo somewhere on your app.
Unfortunately MapKit does not provide routing data.
In iOS 6 and later, Map Kit offers support for providing map-based
directions to the user. Apps can be a provider of directions or they
can use the Maps app itself to provide directions. Apps that consume
direction information do so by sending an appropriate request to the
Maps app, which then handles the task of displaying that information
to the user. However, if you are implementing a navigation app of your
own, you can register your app as a routing app—that is, a provider of
directions. When the Maps app receives direction requests from the
user (or other apps), it can then forward those requests to your app
for display.
Source
So, your best bet here is to use external routing data, or the maps app. Since Google prohibits using their routing data without displaying on a Google map, you may want to check the bing API's (here). It is not immediately apparent that they require you to use bing maps with the bing routing data, but they do also provide a static map api as well (here).
Alternately, you may want to look at this project on github. It shows how to load google map tiles in a map view.
Best of luck.
Apple may provide routing information in the future, but for now it's only available in the Maps app.
One solution is to use Google tiles in your map view. The code for ClassicMap has a complete implementation of this, and is available with a liberal license. Use it as a stopgap until Apple provides routing information.
You are correct, the Google API terms of service state in 10.1.1 point g:
(g) No Use of Content without a Google Map. You must not use or display the Content without a corresponding Google map, unless you are
explicitly permitted to do so in the Maps APIs Documentation, or
through written permission from Google. In any event, you must not use
or display the Content on or in conjunction with a non-Google map. For
example, you must not use geocodes obtained through the Service in
conjunction with a non-Google map. As another example, you must not
display Street View imagery alongside a non-Google map, but you may
display Street View imagery without a corresponding Google map because
the Maps APIs Documentation explicitly permits you to do so.
The access to the Google APIs was until iOS 6 transparent and accessed via the MapKit framework by Apple, who handled all the licensing, fees etc for us the developers, we didn't need to worry about this.
Now that Apple are using their own mapping service, we don't have access to Google APIs via the MapKit framework, like you say, and routing isn't possible with MapKit in the way you want to use it.
So you must keep the communication with Google, but the problem is now you will be using Google data without a Google Map.
This is a problem, and if your app's popular, and Google realise, they may choose to make a problem with you.
There isn't a correct way around it for now, some apps are tiling Google maps onto Apple maps, but then you will need to register your app with Google for an API key I assume, which limits your number of requests and potentially you may have to pay Google for the API usage.

Is there a 3rd party google maps API for iOS

I need to remove mapkit from my iOS app but still need google maps. In this particular instance I merely need satellite views that are zoomable and scrollable. Markers would be nice, but not required.
I can use a webview with javascript, but I'd prefer a mapkit-like API so I can simply transition away from mapkit without significant effort.
Are there third party google map APIs I can use that allow me to use google maps on iOS devices without invoking Apple's built in mapping API?
Google released their new Maps SDK for iOS yesterday. It can be found here: https://developers.google.com/maps/documentation/ios/
If you are looking for an alternative library, there are a few:
RouteMe which is open source and supports multiple map sources.
MapBox is a third party service with an iOS SDK
The Google Maps terms of service specifically prevents direct tile access. You will not be able to legally use Google Maps tiles on iOS outside of MapKit.

Using Google Earth API inside iPad app's

I need to create an iPad application that uses Google Earth at its core. So Basically when the app opens it will need to run Google Earth.
Then I would need to add additional features tailored to our business such as photos of our different hotels and offers and different icons and various features.
Is this at all possible and how difficult would it be for a C# developer do you think?
Do you know of any other similar app's besides Google Earth?
This is not possible as Google Earth and the Google Earth Plug-in are, to date, not supported on the iPad. There is a Google Earth iPhone application that works on the iPad but this has no public api. You can however load custom Kml into the application and that may be enough for your needs.
I don't know of any other solutions.

Resources