4

我正在尝试让 googlemaps 接受本地 KML 文件。

final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:0,0?q=file://" + Environment.getExternalStorageDirectory() + "/locate.kml"));
startActivity(myIntent);

该文件位于 SD 卡上,并且是有效的 kml 文件。谷歌地图加载,但说找不到文件。

final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:0,0?q=http://www.website.com/locate.kml"));
startActivity(myIntent);

工作正常。geo:0,0?q= 似乎记录不足,谁能帮我解决如何使用它来引用本地文件?

4

3 回答 3

1

我认为问题在于,当您尝试使用谷歌地图打开网址时,应用程序会使用您提供的网址向谷歌发送搜索请求。
然后谷歌服务器从你提供的 url 中获取数据并返回结果。

由于谷歌服务器无法访问诸如“file://”之类的 url 或任何诸如“http://localhost”之类的本地 URL,因此您会收到错误消息。这就是第二个命令起作用的原因,谷歌服务器可以访问http://www.website.com/locate.kml

于 2012-06-03T15:08:09.567 回答
0

看来要等到Android 2.1才能完成

http://code.google.com/p/android/issues/detail?id=2454

于 2010-03-05T15:44:24.110 回答
-1

JavaScript 在沙盒中运行,因此它无法在没有专有扩展的情况下访问本地文件。

于 2010-03-05T14:19:57.573 回答