Uber Live Driver Route GPS Update - ios

I am getting into ioS development. Does anyone know how apps like Uber achieve live gps updates of driver's en route? You can see exactly where the driver is on the map and it's a live feed.
Can this be achieved through use of Google Maps API?
Thanks.

Basically, all they need is that the Driver has a device which has GPS and internet connection. Then the device locates itself (periodically) and sends the location to the central server, in which the location along side information identifying the car is stored.
And then the map view simply fetches the data from the database and shows the cars in the Map. And again it simply refreshes the data with timer.
So the Google Maps API, alongside with any other Maps offering can indeed be used for showing the map and the cars in it. But for the positioning parts, as well as for the server side implementations you likely would need to search for other offerings as well.

Related

Automatic export location tracks of walking\running activiies in garmin

I would like to do some automated export location history - map (or picture of the map) of my walking and running activities from my Garmin watch.
I am not an enterprise developer, so I am not able to use Garmin API.
I am using HealthSync app to sync activities Garmin->GoogleFit.
I am able to see location trak inthe google fit.
I was trying to retrieve it via GoogleFit API, but looks like google does not allow we to do it :-( DataSource for the location in google fit Rest API
I was trying to perform sync Garmin->Fitbit (Fitbit has wonderful API)
But looks like HealthSync is not transferring location tracks from Garmin to Fitbit.
And I am near to giving up :(.
What could be an option for me to automate exporting\saving location tracks of my runs and walking?
I do like my Garmin watch and don't see good alternatives for them. But also I would like to own my data :-)
Google made some policy revisions especially with GDPR regulations tightening their nooses.
As stated in officially published docs, https://developers.google.com/fit/datatypes/location#location_sample, location data is exclusive to the application that originally wrote it. Thus, it becomes obscured to any other 3P app that also is writing and reading location data of its own.
You can also reach out to their mailing list, fit-developer-support#google.com, should you need any clarifications with their APIs, especially now that they're introducing Health Connect to replace the Android APIs, https://developer.android.com/guide/health-and-fitness/health-connect

Which method is OLA & Uber using to get car location while in driving?

I have used the Map control in my iOS application. I have to get the user's car location while the user in driving (Run time update like Ola and Uber Apps).
1). Which method are they using to get the user location while moving (API call, Web socket or any other else)?
2). If are they using API call, How many once (Time interval) will they call API to update the UI?
Share you valuable suggestions. Thank you in advance.
You can do with firebase database . Firebase have realtime database . So when some data is update in firebase in particular node in firebase database , so get realtime data syncing in your app .. just you have to make proper database structure and observing proper node from database is require.
Both Ola and Uber use enterprise Google Maps API, in fact most of the
Geo-location based apps use Google maps API.
Google maps API are available at Google's developer forum. You can
make use of that API for your app and you can get your current cards
which can then be used to show on maps.
Here's the link to add this API in your site/app:
https://developers.google.com/maps/documentation/
Also, you can add multiple features like navigation, street view and
satellite imagery with the help of this:
https://developers.google.com/maps/documentation/embed/
This is used in the most famous game:- Pokemon go.
It's free to a certain limit if you want to try for your own Apps,
after the free limit you need to pay for it.

How can I detect nearby users that are indoors in my iOS application?

Im trying to create an app which is assigned to all staff in my company. Platform is ios. The function of this app is to detect the nearby staff indoor and data will be populated from internal DB.
Your app get the user's location using GPS and send each user's location to a central server, which would then send back map data so each user could see all the others. GPS doesn't work super well indoors though, so the other option would be low power Bluetooth, but that isn't very directional. Check out iBeacon.
Do not use GPS,it is not Accurate in door.
You may use some indoor location
Use Ibeacon- Based On BLE
There is a company called Estimote,their offer their Indoor location
SDK
Use WIFI based Indoor location
You may google more details, there are a lot details about Indoor Location

Offline user location in Mapbox

Is it possible to update user's location without using the network? I'm using MapBox for my application, and i really need to know about it. It seems obvious that user can see where he is using GPS, but I am not sure yet.
you mean locally? you can get GPS location on devices and via the browser's HTML5 GeoLocation, and technically just feed that to the mapbox map via the regular javascript (assuming you have the required files accessible locally).
http://www.w3.org/TR/geolocation-API/
here's an example using google maps:
http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation_map
the location isn't 100% accurate as it guesses by IP address, WiFi signals and GPS data (if available).
you didn't specify, but if you're talking about native code, you can do the same thing with different methods on iOS.

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.

Resources