Android“你好,MapView”教程——地图瓦片不加载

Posted

技术标签:

【中文标题】Android“你好,MapView”教程——地图瓦片不加载【英文标题】:Android "Hello, MapView" Tutorial - Map Tiles Do Not Load 【发布时间】:2010-12-21 00:54:54 【问题描述】:

我是 android 软件开发的新手,也是这个网站的新手。我希望有人可能对我遇到的问题有一些经验。

我一直在关注Hello, MapView tutorial,不仅是为了学习 Android 框架,还为了学习 Google 地图库。我已经尽力按照教程的指示来实现。我的问题是应用程序确实在我的模拟器中加载(或者甚至在我的手机上),但地图图块没有加载。

搜索谷歌我发现另一个网站上的其他人发布的帖子有同样的问题,但他/她的问题是添加到 AndroidManifest.xml 文件中的重要元素的顺序不正确。我在我的身上仔细检查了这一点,但一切似乎都是正确的。

所以,我不确定问题出在哪里,希望其他人以前也看到过。如果有帮助,我可以提供任何 sn-ps 代码。

谢谢。

【问题讨论】:

确保 keytool 程序在您的路径中。除非在路径中,否则 ADT 将无法签署您的应用程序。 【参考方案1】:

未加载磁贴通常是未正确设置 API 密钥的结果。 Obtaining a Maps API key

要回答您留给 d. 的回复:如果您希望在从 Eclipse 运行时让它“正常工作”,您需要为您的调试证书获取 API 密钥。 There's instructions on the same page 和以前一样。请注意,您必须在发布之前换回其他密钥。

【讨论】:

感谢已修复。这正是我所需要的。 @fiXedd 链接似乎不再起作用了.. 你能更新一下吗?【参考方案2】:

我猜问题不在于您的地图密钥不正确,而是您没有正确的密钥库设置。应用程序需要由您用于生成映射密钥的同一密钥库签名。您已经注意到,您可以在自己签署应用程序时使其工作,但您需要设置一个调试密钥库才能将 Maps API 与常规 Eclipse 构建一起使用。

所有 Eclipse 构建都需要调试密钥库;您通常不会注意到它,因为 ADT 会自动为您生成一个。您应该follow the directions here 并创建自己的调试密钥库,或者您应该使用 ADT 自动为您创建的调试密钥(它会告诉您它在 Windows > Preferences > Android > Build中创建它的位置>) 并注册另一个 Maps API 密钥。该密钥适用于 Eclipse。

(PS,这确实让编译发布变得很麻烦,因为您需要根据签名密钥库来回切换密钥。)

【讨论】:

谢谢丹尼尔。是的,这正是我的问题,正如 fixedd 也指出的那样。我现在已经设置了调试密钥,并且 Google 磁贴/数据正在通过。再次感谢您的回复和时间。 那么有没有很好的方法来处理这个问题,还是每次发布之前都必须切换键?【参考方案3】:

我也遇到了瓷砖无法加载的问题。正如您提到的原始帖子,一种可能性是 AndroidManifest.xml 文件中元素的顺序。具体来说,我最初有这行:

<uses-permission android:name="android.permission.INTERNET" />

在应用程序元素之后。一旦我将此行移到应用程序元素之前,我的地图图块就会再次开始加载。

【讨论】:

【参考方案4】:

我认为,未加载的图块几乎总是使用不准确的 API 密钥的结果。你检查过你的吗?

详情:Obtaining a Maps API key

【讨论】:

我知道我的 API 密钥是正确的。但是您的回复使我调查了我的申请的签名。我手动完成了导出过程,获取生成的 APK 文件并使用用于获取 API 密钥的密钥对其进行签名,然后安装了后续的 APK 文件,并且成功了。所以,我想我的下一个问题是如何让这个过程自动化,以便当我在 Eclipse 中点击“运行”按钮时,它会构建、签名并将其安装到模拟器中?【参考方案5】:

我遇到了同样的问题...我的错误是在清单文件中将INTERNET 权限放入应用程序中。将其移出(上行)后,一切正常。

【讨论】:

啊,谢谢,我知道我的 APIkey 过程是正确的,因为我以前做过,但是直到这个解决方案才开心。【参考方案6】:

确保顶部面板上有 3g。如果您不这样做,则没有互联网连接。有时我必须打开和关闭模拟器几次才能启动 3g。

【讨论】:

【参考方案7】:

d。可能是正确的。但是,互联网问题也会导致类似的症状。确保您的INTERNET 权限位置正确,并且没有阻止访问 Internet 的代理服务器/防火墙。

【讨论】:

在 d. 的帖子下查看我的评论。【参考方案8】:

另一个问题可能是您落后的代理。即使模拟器中的地图应用和互联网浏览器工作正常,代理也会大大降低速度,并且会影响您的应用。

【讨论】:

【参考方案9】:

这是一个老问题,但这里还有一个答案:如果你和我一样仓促,你可能会不小心从网页复制指纹代码而不是 API 密钥:)

【讨论】:

【参考方案10】:

您所谈论的您好,MapView 教程不再有效。无法再进行新的 V1 地图应用程序。

关注https://developers.google.com/maps/documentation/android/ 获取 Google Maps Android API v2 应用程序。

【讨论】:

以上是关于Android“你好,MapView”教程——地图瓦片不加载的主要内容,如果未能解决你的问题,请参考以下文章

Android使用HereMap教程

打开街道地图离线工作android

详细教程论android studio中如何申请百度地图新版Key中SHA1值

android mapbox地图怎么用

Android 百度地图开发-----001 环境配置 那些年我踩过的坑

基于 Android 地图的位置