我有一个Android应用程序,基本上存储了保存在用户手机上的gpx文件列表.当用户点击应用程序中的文件名时,它应该提示用户打开gpx文件,其中包含手机上可用的任何路由应用程序.现在我正在测试在奥斯曼打开文件.问题是,奥斯曼德正在开放,但随后立即崩溃.
尝试打开文件的代码是这样的:
File gpxFile = new File(Path);
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
Uri gpxUri = FileProvider.getUriForFile(view.getContext(), AUTHORITY, gpxFile);
intent.setDataAndType(gpxUri, "application/gpx+xml");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
gpx文件看起来像这样:
<?xml version="1.0"?>
<gpx creator="{CREATOR}" version="1.1" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<wpt lat="{LAT_1}" lon="{LON_1}">
<name>{WPT_NAME_1}</name>
</wpt>
...
<wpt lat="{LAT_N}" lon="{LON_N}">
<name>{WPT_NAME_N}</name>
</wpt>
<trk>
<name>{TRACK_NAME}</name>
<trkseg>
<trkpt lat="{LAT_1}" lon="{LON_1}"></trkpt>
...
<trkpt lat="{LAT_N}" lon="{LON_N}"></trkpt>
</trkseg>
</trk>
</gpx>
Run Code Online (Sandbox Code Playgroud)
起初我认为gpx文件的格式有问题,但如果我手动打开Osmand并尝试使用"配置地图" - >"Gpx轨道"导入文件,则轨迹在地图上显示正常,包括航点.
LE:这是我在奥斯曼试图开始时得到的错误:
08-16 17:28:00.524 5681-5762/? E/net.osmand: RenderingRuleProperty Rendering parse in strokeWidth_2
08-16 17:28:00.524 5681-5762/? E/net.osmand: RenderingRuleProperty Rendering parse in strokeWidth_2
08-16 …Run Code Online (Sandbox Code Playgroud) 我尝试将primaryRoadColor值更改为ff0000. 当我编译时,它被替换为默认值ff80a0值。如何以及在哪里可以为道路创建自定义颜色?
在我的渲染文件夹中,我有以下 XML:
default.render.xml, Depends-template.render.xml, hud.render.xml, LightRS.render.xml, nautical.render.xml, regions.render.xml, skimap.render.xml, standalone-template.render.xml, test.render.xml, Topo-map-assimilation.render.xml,Touring-view_(more-contrast-and-details).render.xml, UniRS.render.xml
我跟着这个链接,它没有奏效。