让googlemaps接受本地KML文件?

时间:2010-03-05 14:14:44

标签: android uri google-maps android-intent

我想让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文件。 Googlemaps已加载,但表示无法找到该文件。

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 =似乎记录很少,有没有人可以帮我解决如何使用它来引用本地文件?

3 个答案:

答案 0 :(得分:1)

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

由于Google服务器无法访问“file://”等网址或“http:// localhost”等本地网站,因此您收到错误消息。 这就是第二个命令工作的原因,谷歌服务器可以访问http://www.website.com/locate.kml

答案 1 :(得分:0)

似乎在Android 2.1

之前无法完成

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

答案 2 :(得分:-1)

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