地理编码结果不显示在地图上

我devoloping一个应用程序,让用户知道它的位置。 我正在使用这个例子

但是我也在这里看到:“地理编码API只能与Google地图一起使用,禁止在地图上显示地理编码结果”。 所以我不能使用地理编码器而不显示在地图上的结果?

Related of "地理编码结果不显示在地图上"

Geocoder ,您使用的类,Android的包装下: android.location.Geocoder

这与Google Geocoding API不同:
https://developers.google.com/maps/documentation/geocoding/?hl=fr
我们将使用这个url:
http://maps.googleapis.com/maps/api/geocode/output?parameters

有一个用于JavaScript的GeoCoder类,它与Google地理编码API相关,该地理编码API是Google Maps API v3的Geocoder类。 (search哪些需要我们: https : //developers.google.com/maps/documentation/javascript/services?hl=fr#Geocoding )

因此,当提到“地理编码API只能与Google地图结合使用时,禁止在地图上显示地理编码结果”。

这将是v3 API的API和相关类,而不是android.location.Geocoder

另外,我希望你知道:
https://code.google.com/p/android/issues/detail?id=8816

我面对那个。

其实,你可以使用地理编码API,没有限制。 看到我最后的答案

使用json获取当前位置

TLDR:你应该没问题。

您引用的内容的确适用于Google的REST API,并声明:

地理编码API只能与Google地图一起使用; 禁止在地图上显示地理编码结果。 有关允许使用的完整详情,请参阅Maps API服务条款许可限制 。

就我所知,这不会影响Android的使用。 引用这个答案似乎是:

因此,对Android GeoCode API的使用没有硬性限制,更多的是每个设备(客户端)的合理使用策略,

从TOS :

(a)免费(无费用)。 您的Maps API实施必须通常可供用户免费访问,并且不得要求收费订阅或其他基于费用的受限访问。 此规则适用于您的内容以及您的Maps API实施中的任何其他内容,无论您的内容或其他内容现在是存在还是稍后添加。

然而:

(b)移动应用程序。 (i)如果您的Maps API实施在通过在线商店付费出售的移动应用程序中使用,并且可以下载到可以使用移动设备的移动设备,则9.1.1(a)(免费访问)访问在线商店。

(ii)如果您的Maps API实施是使用Google Maps Android API的Android应用程序,则9.1.1(b)(公开访问)中的规则不适用。 (但是,如果您的Maps API实施是使用任何其他Maps API的Android应用程序,则9.1.1(b)(公共访问)中的规则将继续适用,除非地图API实施符合9.1节中的例外条件。 2(a)(与Google的企业协议)。)

我一直觉得TOS有点难以把握自己,并最终与Google联系。 虽然他们一直非常友善,但有时需要一些时间来回应。 我希望这有助于为您和其他遇到此问题的人解决这个问题。

您可以使用Android地理编码器,而无需在地图上显示结果。

Android的地理编码服务从任何特定的服务器端实现中抽象出来,并依赖于在设备中实现此function的OEM。 在上面的文档中,它说:

Geocoder类需要一个不包含在核心android框架中的后端服务。 如果平台中没有后端服务,Geocoder查询方法将返回一个空列表。 使用isPresent()方法来确定Geocoder实现是否存在。

换句话说,Android开放源代码项目只包括Geocoder服务的代理类, 要实现的基本抽象GeocoderProvider ,以及实现Geocoder服务的位置提供者的接口 – 而不是实际的Geocoder服务实现。

因此,当您的应用在设备上运行时,可能会在使用Android Geocoder API时访问任意数量的地理编码提供商,具体取决于该特定OEM如何在该特定设备上实施该服务。 谷歌可能会与一些原始设备制造商达成协议,通过他们自己的基于networking的Geocoding API提供这些服务,但是这个协议不涉及你作为开发者,也不会强制你使用基于networking的Geocoding API服务条款(因为你有没有办法知道您的应用程序是否实际使用Google服务)。