问题标签 [mapsforge]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 Android 上使用 Mapsforge 修复本机 SIGABRT
我正在使用 Mapsforge 0.6.1,我可以通过以下简化示例重现该问题,该示例基本上是本教程的副本:https ://github.com/mapsforge/mapsforge/blob/master/docs/Getting-Started -Android-App.md
我做了一些小改动以匹配新版本。
要运行该应用程序,我必须将http://download.mapsforge.org/maps/europe/germany/berlin.map下载到我设备的外部存储并授予读取权限。该应用程序运行良好,但经过一些屏幕旋转后,它会崩溃。
问题是,当您旋转屏幕时,onDestroy()
会调用onCreate()
. 我可以通过在地图活动和不同活动之间切换来使用具有多个活动的更复杂的应用程序来重现这一点。有时,在AndroidGraphicFactory.clearResourceMemoryCache()
( onDestroy()
) 中释放的资源不能立即重新用于在 中重新绘制地图onCreate()
。
一个可能的解决方案是 AndroidGraphicFactory.clearResourceMemoryCache()
从onDestroy()
. 正如我所知道的,这在 Mapsforge 0.6.0 中根本没有任何意义,因为它也已被调用destroyAll()
,删除该调用都会导致大量内存泄漏。
在当前版本 0.6.1 中,使用以下方法,确实没有发生错误,因为AndroidGraphicFactory.clearResourceMemoryCache()
从未调用过。
尽管我的应用程序似乎运行良好,但我仍然不相信,因为我认为仍然存在资源泄漏。这是真的还是解决方案很好?有没有更好的,也许是代码中的不同点来打开/关闭 AndroidGraphicFactory?任何提示将不胜感激。
我正在使用 Nexus 5X 和 Android 7.1.1 进行测试,但我可以在多个设备和操作系统版本上重现此问题。
java - Java:使用在线位图图块而不是离线渲染器时缩放 Mapsforge 地图
我使用MapsForge 0.8在我的 Android 应用程序中显示地图。当使用在线图块(只是位图,而不是可以在运行时渲染器中调整的矢量数据)时,地图在我的高分辨率设备上真的很小,我什么也看不懂。
我想缩放地图,我尝试了以下方法:
和:
但这并没有改变任何东西。
如何让它显示地图更大?
更新:
我的意思不是放大。我的意思是缩放当前的缩放级别以使其在高分辨率设备上可读。想象一下上面在小型智能手机上的屏幕截图 - 它很小。我什至看不懂街名。
第二次更新
下面的当前答案不回答这个问题。这是关于缩放位图的在线图块 - 而不是如何影响渲染矢量数据。
第三次更新
接受的答案终于解决了这个问题!
android - 如何像在 osmdroid 中一样在 mapsforge 中设置边界框,以及如何在 pathLayer 上方或下方放置文本?
如何像在 osmdroid 中一样在 mapsforge 中设置边界框,以及如何在 pathLayer 上方或下方放置文本?
在 osmdroid 中,我通常调用该setScrollableAreaLimit()
方法,但在 mapsforge 中没有这样的方法mapView
。我该如何做到这一点?
还有我如何在TextOverlay
下面或上面添加一个PathLayer
?
android - NoClassDefFoundError mapsforge - Android 工作室?
我正在使用 frommapforgs
但是当我运行 app 时出现以下错误:
贝娄是我的毕业生:
android - 如何仅在 mapsforge 上禁用滚动或拖动
基本上,我的应用程序的功能会有点像 Pokemon Go。我正在使用 mapsforge 和离线地图。目前,该应用程序允许自动旋转(精细)、点击(精细)和地图移动,如拖动或滚动(不确定是哪个事件)。
我只需要该应用程序不允许拖动/滚动地图。其他一切都应该被允许。
任何见解都会有所帮助。
android - 将地图加载从 sdcard 重新设计为 android 中的资产
我正在尝试从资产文件夹中的现有文件加载,而不是像下面的代码那样从 SD 卡加载:
我不确定如何在 Android 中执行此操作,并且正在寻求帮助。
android - OSMDROID - 加载从 mapsforge 下载的 .map 文件
我正在尝试加载 .map 文件,该文件位于 android studio 的 /assets 文件夹中。.map 文件是从 mapsforge 下载的 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
找不到错误“myfileDirectory”。
java - 任务“:app:transformClassesWithJarMergingForDebug”执行失败
在我的应用程序中,我使用 graphhopper 和 buttonbar。这个生动的解决方案是 graphhopper 依赖项之一。
错误:任务“:app:transformClassesWithJarMergingForDebug”执行失败。
com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com/vividsolutions/jts/algorithm/Angle.class
这是我的 build.gradle
android - 在 android 的 Grapphopper 地图上显示幻灯片菜单
大家好,我实际上正在使用 grapphopper 地图开发一个 android 应用程序,我想在其上显示一个幻灯片菜单,但不幸的是,除了地图之外它没有显示任何内容,尽管幻灯片菜单在另一个简单的活动中工作,所以有人可以请提出解决方案?
java - 是否可以在 java swing 应用程序中运行 osmdroid
基本上我需要一个支持在线地图源(googlemaps 和 openstreetmap)以及离线地图源的 java swing 或 javafx 组件。
我发现mapsforge可以做到这一点(但它不支持谷歌地图作为来源)。所以我遇到了替换 Android 的 MapView 的osmdroid 库。问题是 osmdroid 支持一切(googlemaps & openstreetmap 和离线地图源)。我想知道是否可以在桌面上运行的 java swing 应用程序(不在 android 上运行)中使用 osmdroid。
提前致谢。