Giter VIP home page Giter VIP logo

trekarta's Introduction

Android CI CodeQL GitHub release F-Droid GitHub license

Trekarta (former MapTrek) is designed for hiking, geocaching, off-roading, cycling, boating and all other outdoor activities. It uses offline maps so you do not need to have internet connection. You can easily import places and tracks from GPX and KML data formats or create places in application and share them to others. It lets you write the track of your journey, even in background, so you will never get lost and be able later see where you've been.

Get it on Google Play Get it on F-Droid

Offline maps

Trekarta uses OpenStreetMap based vector maps that are lightweight, offline and are constantly enhanced by contributors. Maps contain detailed topological data with elevation contours. Some map elements can be filtered out for cleaner look. Trekarta has built-in hillshades support. You can add custom maps in sqlite or mbtiles format to cover your area of interest. Custom maps will be shaded as well. Such maps can be created by yourself with SAS.Planet application from mostly any online source or converted with MapTiler and other applications from other map formats.

Hiking

Special hiking activity mode emphasises paths and tracks on map. It visualizes path difficulty and visibility and displays hiking routes. It also displays special OSMC symbols that help you identify desired route.

Cycling

Special cycling activity mode reveals bicycle infrastructure. It shows cycling routes and visualizes mountain biking track difficulty and visibility.

Skiing and skating

Skiing activity mode displays clean winter map with mostly all skiing activities: downhill, nordic, hiking and touring. As a bonus freestyle snow-boarding, skating and sleighing areas are displayed.

Off-road

Unpaved, dirt, winter and ice roads are specially visualized. 4wd only roads have specific marking. Fords are displayed on all roads, even primary.

Places

Places can be easily imported from GPX and KML files or can be created within application. You can navigate to points and share them with others.

Tracks

Trekarta is designed to record tracks of your journey. Simply press a button when you start and press it once more when you finish. You can quit the application if you do not need to look at the map, the track will be recorded in the background.

Trekarta is developed as a hobby for personal use but is generously shared to public on as-is basis. Developers are welcome to contribute to the project. Specifically experts in OpenGL and PostGIS are much needed.

Bug reports and feature proposals are welcome in issue tracker, for general questions Discussions should be preferred.

trekarta's People

Contributors

andreynovikov avatar licaon-kter avatar ninelima avatar poussinou avatar qnga avatar transifex-integration[bot] 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  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  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  avatar  avatar  avatar  avatar  avatar

trekarta's Issues

Show downloading maps

Map selection should highlight downloading maps. If it possible, cancel option should be added.

Help Wanted : how to update gradle files + compile with Android Studio 2.3.3

Hello
I don't succeed to compile the project and get the APK either with Android Studio 2.3.3 and Android Studio 1.5.1 so i need help from the project contributors.

I have limited skills on gradle settings, i made several attempts to edit those files but none of my attempts succeeded.
So i guess it's the place where i do some mistakes and that causes compilation to abort.
For example the 'app/build.gradle' files fails for the following:

compile project(':libraries:colorpicker')
compile project(':libraries:geo-coordinate-conversion')

I also don't know how to make the following to compile for the Sector.java source file
package gov.nasa.worldwind.geom;
Then i have an error showing that "java.awt.geom.Rectangle2D" is not found

Any help is welcome !
For example, can you set up the project to work with Android studio 2.3.3 and publish all the proper files and folders including the .idea folder

Stuck in 3D mode

I'm stuck in the 3D view, I can't get out of it using the location/gps/view toggle button either. How do I get back to normal 2D mode?

Implement layer groups

Layers should be ordered according to their type: maps, paths, objects, labels, places, navigation.

SVG POI symbols

Switch to SVG symbols in map styles to better support high dpi screens.

Limit initial rotation

If map is rotated in less than 5 degrees, do not show the compass but rotate it back. This will prevent accidental rotation during zoom.

Crash on exit after recent waypoint detetion

If waypoint is deleted and then application is exited without waiting for snackbar dismiss application crashes

java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /storage/emulated/0/Android/data/mobi.maptrek/files/databases/waypoints.sqlitedb
	at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55)
	at android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1497)
	at mobi.maptrek.data.source.WaypointDbDataSource.deleteWaypoint(WaypointDbDataSource.java:98)
	at mobi.maptrek.MainActivity$35.onDismissed(MainActivity.java:2287)
	at mobi.maptrek.MainActivity$35.onDismissed(MainActivity.java:2279)

Sort search results and waypoints by distance

Hi, Trekarta is a great app! Thanks!
The only way I came up to (roughly but quickly) sort search results and waypoint list by distance is this:
Do you have any better way in mind? Cheers!
(edit: improved sorting accuracy)

        double cos2 = Math.cos(Math.toRadians(mCoordinates.getLatitude()));
        cos2=cos2*cos2;
        final String orderby = " ORDER BY ((lat-(" + Double.toString(mCoordinates.getLatitude()) + "))*(lat-(" + Double.toString(mCoordinates.getLatitude()) + "))+("+Double.toString(cos2)+")*(lon-("+Double.toString(mCoordinates.getLongitude())+ "))*(lon-("+Double.toString(mCoordinates.getLongitude())+ "))) asc ";

        final String sql = "SELECT DISTINCT features.id AS _id, kind, lat, lon, names.name AS name FROM names_fts" +
                " INNER JOIN names ON (names_fts.docid = names.ref)" +
                " INNER JOIN feature_names ON (names.ref = feature_names.name)" +
                " INNER JOIN features ON (feature_names.id = features.id)" +
                " WHERE names_fts MATCH ? AND (lat != 0 OR lon != 0)" + kindFilter +
                orderby +
                " LIMIT 100";

Snippet added to TextSearchFragment.java

    private int mLatE6;
    private int mLonE6;

    public void setOrigin (double latitude, double longitude)
    {
        mLatE6=(int)(latitude*1000000);
        mLonE6=(int)(longitude*1000000);
    }

        if (mLatE6!=0 || mLonE6!=0) {
            double cos2 = Math.cos(Math.toRadians(0.000001*(double)mLatE6));
            cos2=cos2*cos2;
            final String orderby = "((latitude-(" + Integer.toString(mLatE6) + "))*(latitude-(" + Integer.toString(mLatE6) + "))+("+Double.toString(cos2)+")*(longitude-("+Integer.toString(mLonE6)+ "))*(longitude-("+Integer.toString(mLonE6)+ "))) asc";
            return mDatabase.query(WaypointDbHelper.TABLE_NAME, mAllColumns, null, null, null, null, orderby, " 100 ");
        }

Snippet added to WaypointDbDataSource.java

And in MainActivity.java :

    private void onPlacesClicked() {
     mWaypointDbDataSource.setOrigin(mMap.getMapPosition().getLatitude(),mMap.getMapPosition().getLongitude());
...

Waypoint distance display

When locations are enabled waypoint information should always show distance from current location. Otherwise if waypoint is clicked on map distance is not shown at all, if shown in the list distance is calculated from current map center.

F-droid

Hello,

is there any chance to get this app into f-droid? I'd like to give it a try but building it myself is effort and also seems to not work (#18).
Additionally I'd like to ask about a schedule for the first release...

Regards,
Rapha

Clone maptrek branch of vtm repository?

Hi,

I haven't found the maptrek branch in the vtm repository (actually, in the Github page there's only the master branch).

Besides that, I can't really manage to run the tasks you mentioned in the readme (possibly due to the previous issue I had with the maptrek branch) vtm:vtm install, vtm:vtm-android install and vtm:vtm-http install.

Any ideas? I have been a little bit out of Android development for a few years, so some concepts are quite recent for me.

New map format

  • Building parts
  • Amenities
  • Label placement
  • Convert building levels to heights
  • Road clipping
  • Contour lines
  • Water polygons
  • Recreate known tags and values
  • Add missing features
  • Map generator
  • Map downloader

Missing library modules?

Hi there,
I'm trying to build your app, but gradle stops with error message "Cannot evaluate module colorpicker : Configuration with name 'default' not found." I looked into libraries directory and found that those two directories, colorpicker and geo-coordinate-conversion, are empty. Am I supposed to download those libraries from somewhere?
Thanks for your help.

Area pattern fill

Implement area patten filling to be able to style specific areas like swamps and wetlands.

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.