我想让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 =似乎记录很少,有没有人可以帮我解决如何使用它来引用本地文件?
答案 0 :(得分:1)
我认为问题在于,当您尝试使用Google地图打开网址时,应用程序会使用您提供的网址向Google发送搜索请求。
然后谷歌服务器从你提供的网址中获取数据并返回结果。
由于Google服务器无法访问“file://”等网址或“http:// localhost”等本地网站,因此您收到错误消息。 这就是第二个命令工作的原因,谷歌服务器可以访问http://www.website.com/locate.kml
答案 1 :(得分:0)
似乎在Android 2.1
之前无法完成答案 2 :(得分:-1)
JavaScript在Sandbox中运行,因此无法在没有专有扩展的情况下访问本地文件。