Google map api + node.js realtime backend + ios - ios

I'm new google map, so im not really sure how to start. I have few questions that Im currently confused right. I'm trying to build an application similar like uber
1) Google maps comes with and SDK, and how exactly am i going to make it in real-time, for example there are two guys with GPS, how does Guy A can see Guy B moving in reatime, do i need to use node.js + socket.io to make it work? or the SDK itself already handled that.

To start with, Google Maps SDK for IOS automatically handles access to the Google Maps servers, map display, and response to user gestures such as clicks and drags.
Please note of the following when using the Google Maps SDK for iOS in your application:
You need to comply with the Terms of Service and ensure that your app complies with applicable laws. Note that when using the SDK, your application name and version, authentication information and a cross-application anonymous identifier is automatically sent with each request.
You must include the attribution text as part of a legal notices section in your application which can be obtained by making a call to [GMSServices openSourceLicenseInfo].
Developing an application with the SDK requires the following: (1) Xcode 6.3.0 or later. and (2) iOS SDK 8.0 or later.
And for the implementation part, this SO post - how to track real time position using google map API? gives out the steps needed which could help.

Related

Uber iOS SDK Support at the time of Ride and after Ride

I have developed an application using Uber iOS SDK (https://github.com/uber/rides-ios-sdk). In that, I have used below things as Uber support (Ride Requests - Buttons) within our app.
Login
Start and Destination Selection
Choose Uber Products (Auto or Car)
The cost and estimated time
Request for ride
Here my doubt is, Is Uber SDK support available at the time of ride and after ride ? like Ride Track and Payment Process.
Is there any document or proof available for that ?
Or am I need to check this in a real ride ?
Note: The sandbox mode is not working in Uber setup within our app. So I couldn't check this in developer mode
Yes, you can use the uber sdk before, during, and after the ride. In most cases you will want to use a server-side sdk to handle after the trip is completed. Take a look at docs on how to use webhook to listen to different states of the rides: https://developer.uber.com/docs/rides/webhooks
See the available client libraries: https://developer.uber.com/docs/rides/sdks

How to use Google Apps with Google Sign-In (iOS 7)

When I try to login using Google Sign-In (2.4.0) on iOS 7, the application opens Web View, loads Google web-site and asks for a login and a password. It happens even if I have other applications from Google (like GMail) installed on my phone.
Is there a way to use Google applications for login if they are installed and use Web View otherwise?
I tried to set
GIDSignIn.sharedInstance().allowsSignInWithWebView = false
GIDSignIn.sharedInstance().allowsSignInWithBrowser = false
But all I got is "No sign-in handlers installed"
checkGoogleSignInAppInstalled also returns false
So the short answer from the team is, you're probably stuck using a WebView on iOS7. Due to some changes the team is making to improve the sign-in process on iOS9 (and up), you're going to start to see that iOS7 support is going to be a bit more basic than in the past.
It is a bit of a trade-off, but I think in the long run, it'll be worth it. Sorry I can't give you a better answer, tho.
From Google Sign-In iOS SDK Release Notes
2016-05-18 -- v4.0.0:
Removes allowsSignInWithBrowser and allowsSignInWithWebView
properties from GIDSignIn
This means that Google itself have removed these properties from their SignIn iOS SDK, we are not longer able to these properties.
Read more at Google Sign-In iOS SDK Release Notes

Google Maps API v2 on iOS always show last map view before

I am using Google Maps API v2 with PhoneGap to develop both Android and iOS application. For that purpose i am using PhoneGap plugin that implements native device Google Maps app rather then JavaScript API.
In iOS when i load/show map it first shows last visited location for half a second then it goes to place i set with setCenter or moveCamera. And if there isn't any last visited location (app is started for the first time) map starts from 0,0 coordinates.
In Android everything works fine, when i set certain location it doesn't show anything before that.
I have tried every method there is and nothing works, and i am starting to think that this is default behavior in Google Maps SDK for iOS. But its so bad and makes using maps so confusing that its hard for me to believe there isn't way around this.
Did you try to add cookies function , IOS sometimes specially when using maps dosnt allow that , except those who will allow the cookies, thia would work if its in browser but not natively. Moreover, even if you use phonegape build , it only complie files that Apache understand, meaning you wont be eligable to use ruby files or other files that only supported by the service.

iOS driving directions in iOS6

I have been searching all around about how to integrate driving directions into MKMapView within my application. Is the only way to open the Apple Maps program and go from there, or is their a way of integrating within your own app. If not, I will probably go with google maps as soon as I can get an API key.
If you mean getting the same views for driving direction (a.k.a. turn-by-turn navigation) as the Apple Maps application, then no... as far as I know, there is no library for that (if not 3rd party).
However, as you mentioned, you can open apple maps or google maps giving the directions to the application and initiate such a function.
Also, good to know: If there would be such a build-in functionality in iOS6 (which, again I don't believe there is) its good to know it doesn't exist in pre-iOS6. Meaning it won't work on earlier devices. (hence you need to build a fall-back solution if you want to support those devices as well).
More information on iOS turn-by-turn: http://developer.apple.com/library/ios/#releasenotes/General/WhatsNewIniPhoneOS/Articles/iOS6.html
Quote from that page (which makes me believe turn-by-turn is not supported in the API's):
... Apps that offer routing information, such as turn-by-turn navigation services, can now register as a routing app and make those services available to the entire system.
The documentation search page doesn't give much more info either: http://developer.apple.com/library/ios/search/?q=turn-by-turn
For more information on how to open the maps app, check the answer here: https://stackoverflow.com/a/12789896/406677
So bottom line, you need to either create your own turn-by-turn navigation... or link to an existing application giving such support.
I hope that answered your question.

IOS Map (Google Map API vs. MapKit?)

I'm trying to make an iOS app that shows my location on a map and shows some stores (as pins) around me. I want the store pins to be clickable so that below the map there will be a label showing the details for this store when user clicked/touched the pin. My question is should I use MapKit or Google Maps API?
If Mapkit, I'm building in XCode 4.2, the only framework i see is iOS 5 -> MapKit Framework, if i use it, would my app still work on phones with iOS 4?
If Google Maps API, I believe I'll have to use a web-view then load a html googlemaps page. How would I detect a click event on the store pin and send this message to my label below the webview?
MapKit.framework is the most right choice for an App.
You can set the Deployment Target to 4.0 in Xcode, then the App will run on iOS 4 correctly.
(But you can't use Storyboard for interface builder.)
Web App is significantly slower than native App right now.
Hope to help.
It is not necessary that you use a webView if you are using Google's API. You can make use of MKMapView to show stores around you. And in mapView, giving annotations to stores is quite a simple thing. Google Places API is the right place you have to reach. They provide you a request response either in Json or in XML(as you wish). All you have to do is parse it out and drop pin-annotations.

Resources