flyandi / react-native-maps-navigation

Enables custom navigation in react-native-maps
134 stars 54 forks source link

Compliance with Google Maps API Terms of Service #3

Closed grifotv closed 5 years ago

grifotv commented 5 years ago

First of all, amazing work! I was just wondering two things:

  1. If this approach comply with Google Maps API Terms of Service, as it looks like real-time navigation is prohibited in the Google Maps APIs. The clause 10.3 (c) states:

(c) No Re-Creating Google Products or Features. Customer will not use the Services to create a product or service with features that are substantially similar to or that re-create the features of another Google product or service. Customer’s product or service must contain substantial, independent value and features beyond the Google products or services. For example, Customer will not: (i) re-distribute the Google Maps Core Services or pass them off as if they were Customer’s services; (ii) create a substitute of the Google Maps Core Services, Google Maps, or Google Maps mobile apps, or their features; (iii) use the Google Maps Core Services in a listings or directory service or to create or augment an advertising product; (iv) combine data from the Directions API, Geolocation API, and Maps SDK for Android to create real-time navigation functionality substantially similar to the functionality provided by the Google Maps for Android mobile app.

  1. Have you used this library or approach in a production app?
flyandi commented 5 years ago

Couple thoughts around this topic:

1) The library and API layer provided by this library are nowhere considered a product but as stated a library in the public domain, licensed under MIT - so the use of this library is at your disposable but you are still responsible in which capacity you are using it. You are subject to Google's T&C when you obtaining your API key and neither me or any of the contributor of this project are responsible regarding your usage and implementation.

2) As you stated, you can't replicate just Google Maps - you need to create something that is different. Now Google doesn't state it is prohibited but as you pointed out you need to "create real-time navigation functionality" that is "substantially" different.

Now to your question regarding the use in a production app - Yes I am using this in 3x internal production apps with about 250k users total. In my case it was important that we understand the users regional location and navigate the user to it. This is very different from Google's offering since we don't do point to point navigation but navigation based by user movement and behavior. I also couple the movement data with a ML prediction engine to "estimate" the users approx behavior in the next X hours.

I know that another developer is using it in regards of tracking inbound/outbound movements of vehicles to POI's. Don't know if that was ever released.

Hope that helps.

grifotv commented 5 years ago

Thanks a lot for this