Coder Social home page Coder Social logo

opentopomapviewer's People

Contributors

dsotm-pf avatar ganskef avatar pygmalion69 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opentopomapviewer's Issues

Keep screen on

To use the app on my e-bike I would like to have a setting to keep the screen on.

Feature request: add dark mode

Hi @Pygmalion69

I'm using your great app for a few years. And I really enjoy it daily ๐Ÿ‘

However the addition of a (optional) dark mode would be great to further improve the UX. osmdroid has a (basic) support for dark map tiles included. Please also see here: osmdroid/osmdroid#1804 (comment)1

Also the ability to toggle the visibility of the app bar as requested in #21 would be such a huge improvement for devices featuring a small screen.

If you're interested in (further) translations of the app please let my know. I'd be happy to support you.

Footnotes

  1. Their using a ColorMatrixColorFilter for this see: https://github.com/osmdroid/osmdroid/blob/dbb20901cac30b28a6a9349da097c22d9a962311/osmdroid-android/src/main/java/org/osmdroid/views/overlay/TilesOverlay.java#L95 โ†ฉ

wishlist: offline modus

Hello,
first of all: I love your simple and clean map viewer.
Due to the poor mobile reception (here in Germany), I often have no data reception or only EDGE which is not really useable. It would be nice to have the option to save a area or use prepared area/images for these situations. Mordern mobile phones should have enough space to save a whole country without a problem.
Also nice would be an option that if I use a gpx file I could safe the area of the gpx file for offline usage. I nice feature if I would make a pre-planed a tour.

Initial position by opening app

It is somehow very confusing to see at the beginning always a blue screen indicating the coordinates 0/0 somewhere in the Atlantic near Africa. Wouldn't it be better to show the last position used until the GPS signal is found?
This is by the way also the case when you rotate the device.

Wishlist: FULLSCREEN mode & 100m bar scale at max. zoom in

Hi Pygmalion69,

awesome app for the outdoors, I use it on all the time. 2 wishes:

  • A major wish would be a true fullscreen mode in order to hide the green bar on top & the system bar with notifications, as - especially in horizontal screen mode - there is so much of the map hidden due to those large, green bars. The best way would be to include the choice in the options to activate full screen mode like with epub-reading-apps ร  la FBReader or Readera. Then by pressing in the middle of the screen, the bar visibility can be toggled on/off [or just set fullscreen as standard], but pure map moving or zooming in/out would only show the map in fullscreen mode [like in the browser version of opentopomap]. Every square millimeter of the screen counts, thus looking at and navigating through opentopomap in fullscreen would be fantastic!

  • A minor issue is the fact that when I zoom in at maximum, the bar scale shows me a reference distance between 124m and 127m, very strange. Not sure if this is because of the size of my screen or some obscure imperial system conversation, but as we talk metric here, a 100m bar scale at maximum zoom no matter the screen size would be very handy in order to know what 100m represent on the map. I think the maximum zoom value of the map details is fixed, thus shortening the bar would do the trick, yet as the displayed bar scale value changes, I'm not sure if this is a bug easy to be solved. But again, this is a minor issue, fullscreen is the true missing feature of your fantastic app in my eyes.

Thank you so much, Pygmalion69!

Best,
powerrackman

wishlist: kml viewer

Thanks for the app, it is really useful :-).
It would be a nice addition to be able to display kml files on top of the map.

Crash/Stop on when starting latest version v1.9

Just upgraded to the latest version available on F-Droid and the app immediately crashes or stops when starting. As you are not responsible for the binary shipped via F-Droid i used your "official" build from the release section but it shows the same behaviour.

Does not happen with v1.8.

Device: Samsung SM-G960F
OS: Android 8.1, LineageOS 15.1-20190407-Nightly

Let me know if you need further info:

logcat excerpt:

01-22 07:29:27.188 D/libgps ( 4158): GpsiHook: API: gpsSetPositionMode(GpsiHookStateIdle: e,c,g) 01-22 07:29:27.188 D/libgps ( 4158): proxy__gps_set_position_mode(1, 0, 1000, 0, 0) 01-22 07:29:27.189 D/libgps ( 4158): GpsiHook: API: gpsStart(GpsiHookStateIdle: e,c,g) 01-22 07:29:27.189 D/libgps ( 4158): GpsiHookStateIdle : EXIT 01-22 07:29:27.189 D/libgps ( 4158): GpsiHookStateGps : ENTRY 01-22 07:29:27.189 D/libgps ( 4158): [proxy__gps_start][line = 1164]: called. 01-22 07:29:27.189 D/libgps ( 4158): GpsiHook: API: gpsStatusCb(GpsiHookStateGps: e,c,g) 01-22 07:29:27.189 D/gpsd ( 4142): WakeLock(Acquire,GPSD) 01-22 07:29:27.189 D/libgps ( 4158): GpsiHook: API: gpsStatusCb(GpsiHookStateGps: e,c,g) 01-22 07:29:27.189 I/Sensors ( 4102): batch - accelerometer_sensor try to batching with 50000000 01-22 07:29:27.189 I/GnssLocationProvider( 4338): WakeLock released by handleMessage(SET_REQUEST, 0, com.android.server.location.GnssLocationProvider$GpsRequest@5455ead) 01-22 07:29:27.190 D/gpsd ( 4142): WakeLock(Release,GPSD) 01-22 07:29:27.190 D/gpsd ( 4142): WakeLock(Acquire,GPSD) 01-22 07:29:27.190 D/gpsd ( 4142): WakeLock(Release,GPSD) 01-22 07:29:27.190 D/gpsd ( 4142): WakeLock(Acquire,GPSD) 01-22 07:29:27.191 D/libgps ( 4158): OnGpsExtensionMessage: message_id(11), data(0x7a87420044), size(4) 01-22 07:29:27.191 D/libgps ( 4158): [OnGpsExtensionMessage] Received: MSG_SET_LOG_LEVEL(2) 01-22 07:29:27.191 D/libgps ( 4158): OnGpsExtensionMessage: message_id(6), data(0x0), size(0) 01-22 07:29:27.191 D/libgps ( 4158): proxy__gps_xtra_download_request_cb 01-22 07:29:27.192 I/GnssLocationProvider( 4338): WakeLock acquired by sendMessage(DOWNLOAD_XTRA_DATA, 0, null) 01-22 07:29:27.192 I/GnssLocationProvider( 4338): WakeLock acquired by handleDownloadXtraData() 01-22 07:29:27.192 I/GnssLocationProvider( 4338): WakeLock released by handleMessage(DOWNLOAD_XTRA_DATA, 0, null) 01-22 07:29:27.192 E/GpsXtraDownloader( 4338): No XTRA servers were specified in the GPS configuration 01-22 07:29:27.192 I/GnssLocationProvider( 4338): WakeLock acquired by sendMessage(DOWNLOAD_XTRA_DATA_FINISHED, 0, null) 01-22 07:29:27.192 I/GnssLocationProvider( 4338): WakeLock released by handleMessage(DOWNLOAD_XTRA_DATA_FINISHED, 0, null) 01-22 07:29:27.194 I/Sensors ( 4102): batch - geomagnetic_sensor try to batching with 10000000 01-22 07:29:27.194 I/Sensors ( 4102): batch - uncal_gyro_sensor try to batching with 5000000 01-22 07:29:27.194 I/Sensors ( 4102): GeoMagneticSensor old sensor_state 1, new sensor_state : 17 en : 1 01-22 07:29:27.196 I/Sensors ( 4102): UncalGyroSensor old sensor_state 17, new sensor_state : 32785 en : 1 01-22 07:29:27.201 D/AndroidRuntime(32186): Shutting down VM 01-22 07:29:27.201 E/AndroidRuntime(32186): FATAL EXCEPTION: main 01-22 07:29:27.201 E/AndroidRuntime(32186): Process: org.nitri.opentopo, PID: 32186 01-22 07:29:27.201 E/AndroidRuntime(32186): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.nitri.opentopo/org.nitri.opentopo.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.app.ActivityThread.-wrap11(Unknown Source:0) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.os.Handler.dispatchMessage(Handler.java:106) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.os.Looper.loop(Looper.java:164) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.app.ActivityThread.main(ActivityThread.java:6494) 01-22 07:29:27.201 E/AndroidRuntime(32186): at java.lang.reflect.Method.invoke(Native Method) 01-22 07:29:27.201 E/AndroidRuntime(32186): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) 01-22 07:29:27.201 E/AndroidRuntime(32186): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 01-22 07:29:27.201 E/AndroidRuntime(32186): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference 01-22 07:29:27.201 E/AndroidRuntime(32186): at org.nitri.opentopo.MapFragment.onViewCreated(MapFragment.java:284) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:298) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1232) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1398) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1476) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1541) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2333) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2120) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2075) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1977) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2862) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2812) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:247) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:541) 01-22 07:29:27.201 E/AndroidRuntime(32186): at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1334) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.app.Activity.performStart(Activity.java:7029) 01-22 07:29:27.201 E/AndroidRuntime(32186): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2741) 01-22 07:29:27.201 E/AndroidRuntime(32186): ... 9 more 01-22 07:29:27.204 W/ActivityManager( 4338): Force finishing activity org.nitri.opentopo/.MainActivity 01-22 07:29:27.206 I/Process (32186): Sending signal. PID: 32186 SIG: 9 01-22 07:29:27.206 D/WifiStateMachine( 4338): fetchRssiLinkSpeedAndFrequencyNative rssi=-62 linkspeed=195 freq=5220 01-22 07:29:27.208 D/WifiScoreReport( 4338): report new wifi score 60 01-22 07:29:27.339 I/ActivityManager( 4338): Process org.nitri.opentopo (pid 32186) has died: fore TOP 01-22 07:29:27.339 D/GnssStatusListenerHelper( 4338): Remote Listener died: android.location.IGnssStatusListener$Stub$Proxy@f8b535c 01-22 07:29:27.339 I/Sensors ( 4102): batch - accelerometer_sensor try to batching with 66667000 01-22 07:29:27.340 W/zygote64( 4338): kill(-32186, 9) failed: No such process 01-22 07:29:27.340 I/zygote64( 4338): Successfully killed process cgroup uid 10210 pid 32186 in 0ms 01-22 07:29:27.344 I/Sensors ( 4102): GeoMagneticSensor old sensor_state 32785, new sensor_state : 32769 en : 0 01-22 07:29:27.352 I/Sensors ( 4102): UncalGyroSensor old sensor_state 32769, new sensor_state : 1 en : 0 01-22 07:29:27.354 D/WindowManager( 4338): relayoutVisibleWindow: Window{9d59ba4 u0 org.lineageos.trebuchet/com.android.launcher3.searchlauncher.SearchLauncher EXITING} mAnimatingExit=true, mRemoveOnExit=false, mDestroying=false 01-22 07:29:27.372 D/mali_winsys( 5127): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000 01-22 07:29:27.421 I/GnssLocationProvider( 4338): WakeLock acquired by sendMessage(SET_REQUEST, 0, com.android.server.location.GnssLocationProvider$GpsRequest@e78d7c7)

Provide screenshots via fastlane

Your README features some screenshots. Would you consider putting them into a fastlane structure, so F-Droid picks them up and shows them along the app's description in their clients? For details how to achieve that, see e.g. here.

Fixme/note layer

Would there be any possibility to show a fixme/note layer somehow like on openstreetmap.org? It would help a lot to identify problematic parts of the map.

Show GPS altitude

The app is really very simple and that makes it so cool,
Would it be able to show somewhere also the recent GPS altitude and not only the location? That would help a lot navigation in the mountains. I assume it is quite easy to obtain in addition to the position.
Many thanks
Martin

Map rotation

For use on my e-bike I would like to have a setting to rotate the map to match my heading.

Feature request: remember last location after closure and user defined setting of map files dir

Thank you very much for your most useful app.

normally i am with gps disabled on android (for good reasons).
when it comes to planing tours or downloading maps you always have to scroll from the start in central atlantic (west of africa) to your specific location in interest. Why not simply remember the last location and start topomaps the next time at this point, if gps is off? Small change with huge benefit for many users, i presume.
another extremly fine feature would be user-defined setting of maps directory (external SD card for instance)

with best regards
Dr. Achim Wentzel

suggestions: 2

1 ) Make the display of the used space in the cache settings (to set the desired cache size):

2.1) Make a "route construction" / "manual addition of waypoints"

2.2) Make the map download based on 2.1 + deviation in longitude and latitude
(in gmapcatcher (it is not in android) it is possible to load only by 1 point + deviation in longitude and latitude)

Crash on GPX file opening

Hi,

Well everything is in the title. I'm trying to load a gpx file produced by another android app downloaded via F-Droid named GPSLogger.

After picking the file, the app simply crash.

Ask me if you have any question regarding this bug ;)

RFE: provide open street map as well

Thank you for this app and all the effort you put into it.
I'd like very much to have an option to choose vanilla OpenStreetMaps to be displayed. Topographic maps are very good in the country side, but maybe not first choice if you're moving in a city.

I'm using the app as a very quickly launching alternative to fat navigators - when I get out of the underground and have to find my last few meters to my destination. But on TopoMaps, you need to zoom in to the last two zoom levels to see all street names and house numbers

I used this one before LocationMapViewer, but it does not center automatically to my location and does not have the "follow" feature, both of them are definitive "must-haves".

Location marker unclear

The yellow marker is hardly visible in daylight. Besides, when direction is available the direction marker is too small on hi-res devices.

no / very slow map loading

Sometimes the map is not loading at all or just very very slow - e. g. 2-3 minutes for the currently displayed map section. The issue appears to concern both OpenTopoMap as well as OpenStreeMap. Sometimes the map is not displayed at all or a previously correct displayed map section is gone after zooming in/out.

The overlays for Lonvia Hiking or Lonvia Cycling are shown without any problem.

I've attached a screenshot which shows a section after around 2 minutes of loading.

I've already tried deleting cache and reinstalling the app.

Thanks for your help ๐Ÿ˜ƒ

Follow mode does not persist

The "follow" setting does not persist on configuration change. (This used to work properly at some point in the past.)

The app doesn't appear on the list of viewers in BasicAirData GPS Logger

Dear team,
I'm one of the developers of a free and opensource Android app called BasicAirData GPS Logger.
Here you can find the source code: https://github.com/BasicAirData/GPSLogger
It is a lightweight offline track recorder that, for the visualization of the tracks, uses all the apps installed on the device that are capable to view GPX/KML files.

The app scans all the capable apps (in https://github.com/BasicAirData/GPSLogger/blob/master/app/src/main/java/eu/basicairdata/graziano/gpslogger/ExternalViewerChecker.java) this way:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
final PackageManager pm = context.getPackageManager();
File file = new File(getApplicationContext().getFilesDir() + "/empty.gpx");
Uri uri = FileProvider.getUriForFile(GPSApplication.getInstance(), "eu.basicairdata.graziano.gpslogger.fileprovider", file);
intent.setDataAndType(uri, "application/gpx+xml");
List<ResolveInfo> kmlLRI = pm.queryIntentActivities(intent, 0);

The kmlLRI list contains all the apps that are capable to open the GPX files. All except OpenTopoMap Viewer.

I'm aware of the existance of your great app thanks to a user's feedback that reported the issue (BasicAirData/GPSLogger#142).
I looked into your Manifest, and I found a strange implementation of the <intent-filter>.
What could we add to the GPS Logger's intent in order to find also your app?

Both GPS Logger and OpenTopoMap Viewer are free and open source (we are on Play Store and on F-Droid on IzzyOnDroid F-Droid Repository): it would be great to add the compatibility.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.