問題タブ [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.

0 投票する
1 に答える
1171 参照

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 でテストしていますが、複数のデバイスと OS バージョンでこの問題を再現できます。

0 投票する
3 に答える
2031 参照

android - OSMDROID - mapsforge からダウンロードした .map ファイルのロード

Android Studio の /assets フォルダーに配置されている .map ファイルを読み込もうとしています。.map ファイルは mapsforge @Override からダウンロードされました。setContentView(R.layout.activity_main);

取得エラー「myfileDirectory」が見つかりませんでした。

0 投票する
1 に答える
108 参照

java - Java Swing アプリケーションで osmdroid を実行することは可能ですか?

基本的に、オンライン マップ ソース (googlemaps & openstreetmap) とオフライン マップ ソースをサポートする Java swing または javafx コンポーネントが必要です。

mapsforgeがこのトリックを実行できることがわかりました(ただし、Google マップをソースとしてサポートしていません)。そこで、Android の MapView を置き換えるosmdroid ライブラリに出会いました。問題は、osmdroid がすべて (googlemaps & openstreetmap およびオフライン マップ ソース) をサポートしていることです。そして、デスクトップ上で実行されている Java Swing アプリケーション (Android 上で実行されていない) で osmdroid を使用できるかどうか疑問に思っています。

前もって感謝します。