In a web app I have set up an adress autosuggest using google places library like this:
autocomplete = new google.maps.places.Autocomplete(
/** #type {HTMLInputElement} */(document.getElementById('AddressSearch')),
{ types: ['geocode'], bounds: region });
...
Right now I got into the research of Maps API lincenses and I really got confused about the places API and places librabry. I see that different license rules apply to places API.
But what about places librabry? I cannot seem to find any other requirement than including google's logo. Is that the only requirement?
Any guidance, help, suggestions are much appreciated.
Both the Places API and the Places Library in the JavaScript API (as well as the JS API itself) are subject to the Google Maps/Google Earth APIs Terms of Service. The additional requirements on the Places API policies page are a consequence of these ToS (see section 9 for example) and therefore apply to both.
In general, you should make sure your application complies with the Terms of Services. There's also a few FAQ entries related to the ToS.
Related
I'm new to both iOS programming & the Google Maps iOS SDK, so apologies if this is a basic question.
I want to include a Google map, in an app and give users the ability to search for various places (restaurants, bars, gyms, etc) within a certain radius of a marker.
I know this is possible using the javascript api, but can it be done using the maps iOS SDK? I have read all of the information here and have searched Stack Overflow & Google but I can't really find anything that gives me any pointers.
Within the documentation, Google say that using a URL Scheme you can launch a native iOS app and pass in parameters for searches, directions etc. Is this what I need to be using, or is that more tailored to a webapp?
Any help, advice, or pointers to tutorials (other than the ones provided by Google) would be massively appreciated.
Cheers
The Google Maps URL Scheme can currently only be used to open the Google Maps app to search for a location or for directions. It can't search for places. Also, if your own app did this, then it would shut down your app and switch to the maps app, which may not be what you want. It will also only work if the user has installed the Google Maps app.
You would probably want to use the Google Places API to make http requests from your native app. You can request a response in either JSON or XML format. Then you'll need to parse the response, and use it to add markers to a GMSMapView using the Google Maps SDK for iOS.
This blog post describes this library which the blog post's author wrote to wrap the Google Places API. You wouldn't need most of this code, but it might give you an idea of where to start. This class is the main one which handles the requests to the places API.
Note that this library uses a third-party JSON parser - SBJsonParser. As of version 5.0 iOS includes a native JSON parser, NSJSONSerialization. So if your app's minimum supported iOS version is 5.0 or higher, you don't need to use a third-party library.
This is more of a non-technical question, but here goes.
I have authored several tools that can make use of use of the Google Geocode and Directions Web APIs as part of some "plugin/extension" type software I have written (but not released) for a desktop-based commercial GIS application. These tools of course adheer to the 2500 geocodes/day limit and a 10 request/second throtle. I have written several other geocoding/directions tools that hit off other free/unlimited web APIs (ESRI, OSM, etc.). Since Google is so well known, I would like to include the Google APIs as well. However, in reading the Google API Terms of Service https://developers.google.com/maps/terms#section_10_12, my use case of a non-web based application seems a bit legally vague... Some more details: My software download is free, however has a relatively small processing limit (< 10 geocodes/routes) in place unless a full license is purchased (from me). For the Google-based tools, my GUI is set up to include Google 'Client Id' and 'Digital Signature' parameters (with explainations and weblinks) so that end users can make use of their Google Business License. Additionally, my software encodes the returned geocode/direction results into standard GIS formats, and can alter the output coordinate system. My software doesn't display the geocode/directions results on a 'Google Map' base layer persay, but doesn't neccessarily display it on another 'Map' either (example: a 'Bing Map'). Results are displayed on a canvas capable of displaying any geospatial data layers. The Geocoding/Directions toolsets, of which the 'Google API' would be an optional paramter as woulld 'OSM API' and 'ESRI API', are a subset (but important subset) of the overall software which does many other things unrelated to geocoding/directions. At any rate, I would like to include a 'Google API' option for my Geocoding/Routing toolset.
My basic question is: Provided the use case above, can I in good faith include the Google Geocode/Directions Web APIs in my software? If the answer is 'No', are there any use cases where Google Geocode and Directions Web APIs could be used in my software?
Any response (especially from Google Maps staff!) would be greatly appreciated.
This is against their Terms of Services. Below are links and snippets from the pages. I recently deal with this issue at my job.
https://developers.google.com/maps/documentation/directions/
Note: the Directions API may only be used in conjunction with displaying results on a Google map; using Directions data without displaying a map for which directions data was requested is prohibited. Additionally, calculation of directions generates copyrights and warnings which must be displayed to the user in some fashion. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.
https://developers.google.com/maps/documentation/geocoding/
Note: the Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.
Although that question was asked back in 2013, here is an excerpt from the current Google Maps APIs FAQ, as of March 21, 2016.
Can I use Google Maps in my non-Web application?
Yes, the Google Maps APIs can now be used in desktop applications, provided that they adhere to the other restrictions of the Terms of Service. Note that in order for a desktop application to be deemed "publicly accessible", there must be a publicly accessible webpage from which it can be downloaded. See Section 9.1 of the Terms of Service for more information.
So it's "now" possible under certain conditions.
I'd like to create a web app something like Zillow.com but not in the US. I'm wondering if I can use the Google Maps API for free for that and if not, what are cheap alternatives to get me started? Thank you in advance!
You can use OpenStreetMap in commercial products. All you have to do is quote them as the source of your map data.
You can find the detailed license information here: http://www.openstreetmap.org/copyright
You can use the Google Maps API for free if your maps api implementation is publicly available (free). If not, you must purchase a Google Maps API for Business License.
The following is taken from the free Google Maps API license:
(a) Free Access (No Fees). Your Maps API Implementation must be
generally accessible to users without charge and must not require a
fee-based subscription or other fee-based restricted access. This rule
applies to Your Content and any other content in your Maps API
Implementation, whether Your Content or the other content is in
existence now or is added later.
(b) Public Access (No Firewall). Your Maps API implementation must not
operate (i) only behind a firewall; or (ii) only on an internal
network (except during the development and testing phase); or (iii) in
a closed community (for example, through invitation-only access).
If the Google Maps licenses won't work for you, you could use OpenStreetMap.
I want to use th Google Map API for my desktop tool.As I dont want to show any Map control in the UI I just want to give some address to API and the google should return me the city,country,zip etc.
Please tell me how I can achieve this.
You can't use the Google Maps API in a situation where you're not going to display a map. From the documentation:
Note: the Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.
I suspect you'll need to look for other commercial solutions for your situation.
Note that although I work for Google, this post is not made on behalf of Google - it's just based on the public documentation.
I'm developing an iPhone app that uses a map and show direction between two points on the map, the problem is i cant use the Google maps because it does not support street naming in my country, so instead I'm using CloudMade maps.
The question is can i still query Google servers with direction requests and use the results on the CloudMade map? Is the Google license allows it?
According to Google's terms of service you cannot place any content obtained from Google's service on any other map without written permission from Google.
10.1.1
(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. For example, you must not use
geocodes obtained through the Service except in conjunction with a
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.
I would contact Google, they may be able to work with you in your situation.
Update:
Google contact information is a bit sparse for free maps.
Here is a link to the permissions tool:
http://www.google.com/intl/en/permissions/geoguidelines.html
This is a link to Google Enterprise support:
http://www.google.com/support/enterprise/bin/answer.py?answer=142244#maps
Or you may want to try and contact a Google office in your country if one exists. I do not believe their legal department has a direct contact information for the public.
http://www.google.com/intl/en/about/corporate/company/address.html
An here is the Google premier sales contact information. I don't think you would need to obtain a premier license (they are expensive) with the information you provided about your app but the sales representative may be able to point you in the right direction.
http://www.google.com/support/enterprise/bin/request.py?contact_type=gme&utm_campaign=en-codepremier