I am developing app that has map functionality and i want to support offline maps as well. Is that possible? Also is it possible to show route with openInMapsWithLaunchOptions without network?
You can't do this with any level of predictability or control with MapKit, but you can with both MBXMapKit and the Mapbox iOS SDK. Both have robust offline support built in.
Related
I am developing an app that uses turn-by-turn navigation. But due to cost limitations, we cannot use MapBox using their pricing plans.
I came to know OpenStreetMaps is a good option here and also, MapBox is using OpenStreetMaps for some of its features. Has anybody used MapBox SDK to use OpenStreetMaps?
I also searched for other alternative open-source libraries that use OpenStreetMaps. Skobbler SDK was the one I found but it's no longer functional as the development is stopped.
I need help in finding a library that allows me to navigate in-app using OSM.
Please help.
I have integrated MapKit in my iOS app, and it works fine without switching Maps on in xCode/target/Capabilities.
So, does Maps need to be switched on in Capabilities or not?
I just found out about Capabilities, as I needed to switch In-App-Purchases on.
You only turn the Maps capability on if your app is meant to provide routing (navigation/direction) services to other apps.
Based on your comments, your app will not be providing this service so you don't need to turn on the Maps capability.
I have an application which is supposed to use google maps and mapkit framework. Now, google maps are only supported on iOS version 5.1 and further whereas Mapkit framework is supported on lower versions.
I want to the application to:
Load Mapkit on lower versions of the device.
Load Google maps for 5.1 and above versions,
before linking.
Bottomline is, is it possible to load the specific libraries based on iOS version of the device when application launches, before linking ? OR so can I programmatically choose between the two, based on the iOS version ?
Thanks for any help.
Note that just including the Google Maps SDK for iOS in your app will make it crash on iOS 4.x - even if you don't call anything in the SDK. See here for details:
Google Maps SDK for iOS trying to run on iOS 4.3
So if you take this approach, you'll be able to use Google maps on iOS 5.1+, but only be able to use Apple maps on iOS 5.0. Given that probably less than 1% of users are running iOS 5.0 (see here), it might not be worth the trouble.
It is possible to choose between the two, but what you are describing exactly is not possible. Apple doesn't allow third-party dynamically linked frameworks. The Google Maps framework will actually be a static library inside your application, so it exists in your binary itself (no linking involved).
I should point out that the SDKs are obviously not API-compatible, so you will need different code in each case and can't just, for example, change the class of your map view based on iOS version.
I am using basic MapKit functionality in my iOS app.
Is there a way to let my iOS 6 users choose between Google and Apple maps for the mapping data presented within my app? If so, how can I do this programmatically?
No.
You can let users choose between iOS maps and other maps (OpenStreetMap, Microsoft VirtualEarth, CloudMade, OpenAerialMap, OpenCycleMap, SpatialCloud, TileStream7) with route me (on github) or you can go with Bing maps (also a library available).
But you'll have to code for the different libraries as the MapKit Framework is only available for Apple maps in iOS 6.
ClassicMap (GitHub) does exactly what you're looking for. The sample project shows how to add a Google Maps overlay to MapKit and how to switch between Google and Apple maps.
It works well, but zoom levels seem to be limited to Apple's data (I'm pretty sure that the maximum zoom was higher in Google Maps, at least where I live).
Does somebody know soft for better using online maps in off-line mode?
Because, you know, now you have to do several printscreens and then glue them.
But I'm pretty sure that there is tool at least for gluing overlapping images
MapsWithMe provides free offline maps for iPhone, iPad and Android. iOS version is available at the AppStore. Android is in beta, just ask for it at info#mapswithme.com
in Russia, there are Yandex maps and the collection of cache maps (http://ymm.sytes.net/) which you can load in your cell phone. Unfortunately, as I know, there is only Russian interface.