3

我正在尝试使用 maps.google.com 获取并显示实时 .kml 文件

Uri.parse("geo:0,0?q=http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=104538451667315338387.0004887d133ba2ab6eec9&ll=42.029611,-93.646109&spn=0.011396,0.022724&z=16l&output=kml");

Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapUri);

startActivity(Intent.createChooser(mapIntent, "lol"));

然而,在打开地图视图后,我收到一条通知说“社区地图无法显示,因为它包含错误”

如果我直接从 maps.google 下载 .kml,我只会收到此错误。如果我将完全相同的链接复制到地址栏中,下载 .kml 文件,然后将其上传到其他地方,那么它就可以正常工作。我希望能够直接从谷歌获取地图,这样我就可以做出改变,它会立即反映给我的用户。

4

4 回答 4

2

我遇到了同样的问题 - 如果您使用“&”作为参数分隔符,Android 版 Google 地图会截断 URL,因此请改用“%26”:

Intent navigateToIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
    "geo:0,0?q=http://m.konzoomer.com/kml?id=" + id +
    "%26latitudeE12=" + latitudeE12 + "%26longitudeE12=" + longitudeE12 +
    "%26radiusMeters=" + radiusMeters));
于 2010-12-15T20:13:22.217 回答
1

我不久前解决了这个问题,并认为我会为其他面临这个问题的人更新。我使用的解决方案是将链接复制到自定义地图,附加 &output=kml 并使用链接缩短服务。出于某种原因,android 只是不喜欢 google maps 提供的 URL,而且文件本身绝对没有问题。

这远非一个优雅的解决方案,因为我依赖谷歌地图和我选择的 URL 缩短器来将 KML 文件发送到用户的手机。如果其中任何一个失败,那么我的系统将无法工作。

我对其他选择持开放态度,如果出现其他选择,我会改变我的答案。

于 2010-09-12T07:42:01.927 回答
1

尝试在某处(即通过 System.out.println)将 Android 下载的数据显示为文本,可能它包含 google 错误消息描述

于 2010-06-08T18:23:16.900 回答
0

如果您只使用简单的 maps.google.com 链接而不使用“&output=kml”来创建意图怎么办?

于 2010-06-08T19:43:11.070 回答