Я использую OSMDroid для создания автономной карты и достижения поворота путем поворота навигации вместе с голосовами над инструкцией, которая, как я считаю, может быть достигнута с помощью библиотеки Graphhopper версию 9.0. < /p>
Так что это мои шаги для достижения задачи < /p>
01. Сгенерировать файл графического кэша через aeam.osm.pbf. < /P>
02. Поскольку я использую версию Graph Hopper 9.0, поэтому я использую версию Graph Hopper 9.0 для
генерировать графический кэш, который сгенерируется успешно.
Введите код здесь < /p>
03. Теперь, когда я пытаюсь запустить этот код, он дает несоответствие профиля ошибки, ровный профиль even Profile
только для автомобиля, предоставленного только Graph Hopper версией 9.0 Пример config. < /P>
private class LoadGraphHopperTask extends AsyncTask {
@Override
protected GraphHopper doInBackground(Void... params) {
try {
File graphCacheDir = new File(getFilesDir(), "graph-cache");
// Step 1: Copy graph from assets if not already copied
if (!graphCacheDir.exists() || graphCacheDir.list() == null || Objects.requireNonNull(graphCacheDir.list()).length == 0) {
copyAssetsFolder(getApplicationContext(), "map/graph-cache", graphCacheDir.getAbsolutePath());
}
// Step 2: Load GraphHopper from internal storage
GraphHopper hopper = new GraphHopper();
hopper.setGraphHopperLocation(graphCacheDir.getAbsolutePath());
Profile carProfile = new Profile("car")
.setName("car"); // Or load actual car.json if needed
hopper.setProfiles(carProfile);
hopper.load(); // Load from graph-cache
return hopper;
} catch (Exception e) {
Log.e("GraphHopper", "Error loading GraphHopper data", e);
return null;
}
}
@Override
protected void onPostExecute(GraphHopper hopper) {
if (hopper != null) {
// Calculate route now
GeoPoint start = new GeoPoint(33.6844, 73.0479); // Example: Islamabad
GeoPoint end = new GeoPoint(33.7380, 72.9998); // Example: Near Islamabad
drawGraphHopperRoute(hopper, start, end);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... g-profiles