【问题标题】:RAD Studio TMapView Component can't working properlyRAD Studio TMapView 组件无法正常工作
【发布时间】:2022-01-01 01:43:10
【问题描述】:

我正在学习在 RAD Studio 11 上构建 Android Google Map 应用程序。但是,当应用程序启动时,我迷上了。如果我将 API 密钥点更改为另一个包名,应用程序可以启动,但地图为空。

有谁知道这是怎么回事?我该如何解决这个问题?非常感谢。

问候, 肯尼

【问题讨论】:

  • 包名无所谓。只要您在 Project Options 的 Entitlement List 中检查了 Maps Service 以及 valid Maps API Key,它就应该可以工作。如果没有,请指出您收到的确切错误

标签: android google-maps delphi rad-studio mapview


【解决方案1】:

经过多次排查,导致崩溃的问题是在“AndroidManifest.xml”文件中重新添加以下行

使用库 android:name="org.apache.http.legacy" android:required="false"

备注:括号从上面的行中删除,以便正确显示行内容。当您将该行放回 .XML 文件时,请重新添加它们。

在 Android 6 之后,已删除对 Apache HTTP 客户端的支持,从 Android 9 开始,该库已从 bootclasspath 中删除,并且默认情况下不适用于 Android 应用程序。因此,应将上述行添加回“AndroidManifest.xml”文件中。

【讨论】:

    【解决方案2】:

    首先,API 密钥是强制性的。

    您需要在 Google Cloud Platform 中创建一个项目并启用 Maps SDK for Android。完成后,您将获得一个 API 密钥。

    在您的 Firemonkey 应用程序中,您可以添加 TMapView

    在项目选项 > 应用程序 > 版本信息中。 > 添加一个新行,键为 apiKey 并赋值您从 Google 获得的 api 键。

    您还需要选中项目选项中权利列表中的地图复选框。

    就是这样。您可以在All configuration 或仅在Android 32/64 bits 中进行。

    检查你运行的版本,并正确设置apiKey。

    否则,这个页面描述了我告诉你的内容:https://docwiki.embarcadero.com/RADStudio/Sydney/en/Mobile_Tutorial:_Using_a_Map_Component_to_Work_with_Maps_(iOS_and_Android)

    如果 Map 为空,则可能是您没有使用正确的 API。

    【讨论】:

    • 是的,我按照建议页面上的说明进行操作。但是,该应用程序仍然崩溃。
    • “仅此而已”.. 呃,不。您还需要选中项目选项中权利列表中的地图复选框。请更新您的答案。
    • 感谢您的提醒,但我仍然没有运气。为了更好地说明我的问题。我已经为项目和 Google API 设置捕获了一些屏幕截图。您可以在以下链接下的 pdf 文件中找到上述信息:dropbox.com/sh/u8s7krnf8cpr18x/AADgK6owxklENQrnXxHzWJnSa?dl=0。非常感谢!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 2017-09-10
    • 1970-01-01
    相关资源
    最近更新 更多