I want to implement navigation map for drivers in my iOS app and know two different ways to do this:
Use URL scheme to open Apple Maps app.
Implement this feature inside my app.
The first case is not an option for me, so I decide to select a second. As I can see from Apple documentation, there are no such standard API. For now I can receive array of routes between source and destination points via MKDirectionsResponse object; also I can draw some route on my map. So the next step is to provide turn-by-turn navigation from source point to destination point according to the route and some following requirements:
Displaying next turns.
The navigation should be voice-guided.
The navigation should be on a 3d map.
The map should rotate in the direction of driving as you drive.
Should display ETA to final destination (the end point).
I thinks that all this features (may be, except item 2) can be reached by the way of using location and map services provided by CoreLocation and MapKit frameworks. But I'm ready to use third-party free / paid services. All that I found:
atlasct
navigenie
cloudmade
I can't find some references to source codes / SDK's (even limited demo if they are paid) for items 1 and 3. Item 2 also doesn't offer some demo SDK so I can't learn and evaluate Navigenie services quality.
So my question: does you know some third-party libs / frameworks / SDK's that can help me to resolve my problem? Does you know any solution to voice-guided navigation? Know you smth about wroted above instruments or may be you think that I must implement all features from the beggining?
Thanks!
Related
I am looking into creating an ARKit wayfinding application based on this open source project: https://github.com/ashislaha/Route-Direction-in-AR
I have downloaded and compiled this code (changing the mode from 'driving' to 'walking') and have placed the point inside of a building that is supported by Google's indoor maps. All the levels are mapped out in Google, yet this application does not go indoors; even when 'walking' is selected, it still only sticks to roads and stops navigating at the door to my building.
My goal is to have the wayfinding indoors, using Google Maps indoor view, and have the overview_polyline give the overview of the route, all indoors, from one place in the building to another.
I was looking at GMSIndoorDisplay, but there seemed to be a lack of documentation surrounding it. Is this similar to what I'm looking for, or what would you guys recommend? Thanks!
I have an idea of building offline Map for my University Campus (its covering almost 3-4 miles). Like new students or guests can navigate to various blocks in campus. Student can see himself/herself marked on map at current location & can chose destination from pre-defined list of places and application will navigate them.
I have explored alot like maptiles can help me in showing maps. But is there any other efficient way of showing campus map ? And I have no idea how will I navigate user (since being a private property area is out of reach of Google's Maps (or some other) API).
Any suggestions will be helpful. :)
EDITED
Here is Google Map link to my place.
I am studying ArcGIS from last few days, learned to create its 'geodatabase' using 'ArcGIS for Desktop' for rendering offline maps on iPhone.
However, now my concern is how to Navigate user.
And I will welcome any suggestion/idea for accomplishing it using any different approach.
You can achieve that with MapBox.
MapBox is an alternative to GoogleMaps and supports offline maps.
Mapbox iOS SDK
There are three methods available to the Mapbox iOS SDK
for offline maps. With cache-based methods, the RMTileCache for an
RMMapView can be configured to keep map tiles around based on their
count or based on their age in the cache.
Caching based on previous user interaction
Tiles are automatically cached once they are downloaded for display
based on the user’s panning and zooming of the map. For example, if a
user views the map, then zooms out, then zooms back in later when
offline, the original tiles will be present in cache and will display
without need for a network connection.
Proactive background caching for certain map regions
Using RMTileCache and the RMTileCacheBackgroundDelegate protocol, the
developer can enable the user to download a certain bounding box and
zoom range in the background in advance of actually displaying them on
screen. Callbacks trigger, allowing the developer to report progress
to the user or even to cancel a download in progress.
Tiles that already exist in cache will be skipped over during this
background download instead of re-downloaded.
MBTiles prepackaged tiles
Using the MBTiles format for map tile storage, developers can build
apps that read the tiles straight out of the MBTiles file and do not
ever need a network connection. Since MBTiles is an open format, files
can be created manually or with TileMill, as well as many other
applications and utilities such as mbutil.
You need the last one (i.e. MBTiles prepackaged tiles).
Source: https://www.mapbox.com/help/ios-offline/
If you go the OpenStreetMap way (map your property directly in OpenStreeMap) then you can also use the Scout SDK.
It's OSM based and provides full support for offline maps, offline routing & TBT navigation. If you properly connect the road segments then the SDK will be able to create car, bike & pedestrian routes on your data.
While not free, the Scout SDK has a free tier that might be large enough for your particular needs (if not you'll move to a "pay-as-you" model)
I need to find a way to get an list of shops/bars etc. around the actual position of the device.
I know how to get the position. I also know about the Google API Places. But is there an way to solve this without using third party libraries?
You can use the MKLocalSearch API's in MapKit, but you can only do a search for one type of building at a time.
More details can be found in the MapKit Programming Guide - Enabling Search
Otherwise you would have to gather and store the data yourself and query your own system.
I'm trying to make an application that is a map of my High School, in which the user can click a button to search for either a room or a locker.... My goal was to have the room/locker number correspond to a point on several hidden "number lines" in different areas on the Nib file/display, and when a certain input is received, the corresponding number would light up or show its location (i.e. I don't have to enter every locker location for instance, only the first and last one in each hallway, and the number line generated between the values I enter would represent all the lockers in-between).
I'm using Xcode 4.3.3 if that helps.... Structure-wise I wanted to use the Tabbed-application template and have one tab for the actual Map, one for entering which locker you are looking for, and one for entering which room you want to find. I'm new to iOS programming so I don't know if there is a better way to accomplish something like this, and I am open to any suggestions or advice. Thanks!
You could marry MapKit with your own database in which you'd define the coordinates for rooms, banks of lockers, etc. See Location Awareness Programming Guide which shows how to integrate maps in an app. I can imagine that you could define MKOverlay objects for rooms and ranges of lockers. Or you could simply define MKAnnotation objects for points of interest (cafeteria, etc.).
But some combination of overlays and annotations using MapKit seems like a logical solution.
You might also use the MapBox iOS SDK to do this, along with an interactivity layer as described at http://mapbox.com/tilemill/docs/crashcourse/tooltips/
I am trying to figure out if there are any way out there where I can read the traffic data based on the directions given from Point A to Point B.
I don't need to show the directions in the app. There are two things that would be nice to read, one is the amount of time to travel considering the current traffic situation; and/or read the traffic color (green = no traffic; red = trafic; etc.) on the direction's path.
Thanks everyone!
Try http://www.mapquestapi.com/traffic/
http://msdn.microsoft.com/en-us/library/hh441725
http://developer.yahoo.com/traffic/rest/V1/index.html
There is one reference regarding the question: They suggest that from google APIs this can not be achieved: Here
Then there are traffic information going to be available by Apple itself: "iOS 6 Maps uses TomTom mapping and traffic data"
I can not provide the way to use the Map framework for iOS 6 as it is in beta version. You have to figure out the way to use it.
Hope this helps.