gpt4 book ai didi

android - 无法将 Google Map API 插入到包含 Google Map Json 的网址中

转载 作者:行者123 更新时间:2023-11-29 00:52:26 25 4
gpt4 key购买 nike

我有一个如下所示的 url。

https://maps.googleapis.com/maps/api/geocode/json?key=MY-KEY-API&latlng=40.9927242,29.0231916

我想通过如下所示的 Retrofit 部分从 url 获取 json 结果。

public static final String URL = "https://maps.googleapis.com";

@GET("/maps/api/geocode/json")
Call<Location> getInformation(@Query("latlng") String lat);

Call<Location> req = Manager.getInstance().getCity("40.9927242,29.0231916");

响应如下所示。

response : Response{protocol=h2, code=200, message=, url=https://maps.googleapis.com/maps/api/geocode/json?latlng=40.9927242%2C29.0231916}

即使在 AndroidManifest.xml 中定义,也无法将 API key 插入到 url 部分

<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />

google_maps_key.xml

<string name="google_maps_key"
templateMergeStrategy="preserve" translatable="false">
MY-KEY-API
</string>

当我点击url时,由于没有在url中添加API,所以错误以json格式定义。

{
"error_message": "You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account",
"results": [],
"status": "REQUEST_DENIED"
}

我该如何解决?

最佳答案

您需要明确地将 API key 添加到您的地理编码 API 请求(即 https://maps.googleapis.com/maps/api/geocode/json?key=AIza...) .

Maps SDK for Android 使用您插入到 Android Manifest 中的 key 在您的 Android 应用程序上加载 map 。

另一方面,地理编码 API 不使用也不识别该 Android key 。它需要自己的 key 。现在您对该 API 的调用是无 key 的,这就是您收到 REQUEST_DENIED 错误的原因。

旁注:建议您为网络服务使用另一个 API key ,因为 xml 文件中的 key 应为 Android restricted .

至于如何限制你的Geocoding key,看看Google的documentation中提到的技术。 ,“在使用 map 网络服务 API 的移动应用程序上”部分。

希望对你有帮助。

关于android - 无法将 Google Map API 插入到包含 Google Map Json 的网址中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57976372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com