Android:从谷歌地图获取无效的KML文件

时间:2010-06-08 18:21:17

标签: android google-maps kml android-maps

我正在尝试使用

从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"));

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

如果我直接从maps.google下载.kml,我只会收到此错误。如果我将完全相同的链接复制到我的地址栏中,请下载.kml文件,然后将其上传到其他地方然后就可以了。我希望能够直接从Google获取地图,我可以进行更改,并立即反映给我的用户。

4 个答案:

答案 0 :(得分:2)

我遇到了同样的问题 - 如果你使用“&”作为参数分隔符,Google Maps for Android会切断网址,因此请改为使用“%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));

答案 1 :(得分:1)

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

答案 2 :(得分:1)

我刚刚解决了这个问题,并认为我会更新其他任何面临此问题的人。我使用的解决方案是将链接复制到自定义地图,附加& output = kml,并使用链接缩短服务。由于某种原因,Android只是不喜欢谷歌地图给出的URL,它对文件本身完全没有问题。

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

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

答案 3 :(得分:0)

如果仅使用普通的maps.google.com链接创建意图,而不使用“& output = kml”,该怎么办?

相关问题