Coder Social home page Coder Social logo

merlos / ios-open-gpx-tracker Goto Github PK

View Code? Open in Web Editor NEW
569.0 41.0 144.0 6.9 MB

GPS Tracker app for iOS + WatchOS. Log your tracks without limits and share them; Open source GPX tracker app written in Swift

Home Page: http://www.merlos.org/iOS-Open-GPX-Tracker/

License: GNU General Public License v3.0

Swift 98.33% HTML 1.43% Ruby 0.13% C 0.11%
gpx ios ios-app ios-swift gpx-files offline-maps iphone osm xcode

ios-open-gpx-tracker's People

Contributors

digipix avatar dillona avatar ezyron avatar leonspok avatar merlos avatar neofusion avatar nitricware avatar nsmutablestring avatar onato avatar onix avatar papadave66 avatar raphaelschaad avatar sebastianwild avatar vincentneo avatar yoiang 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  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

ios-open-gpx-tracker's Issues

iOS11 - impossible to send email

Regardless of how long the trace is, whenever I click on the Send by Email button the app crashes. It’s been like that ever since I downloaded it a month ago, so it went trough 2 iOS updates I think, never had it working.

Add default name for saving

Comment from a user:

"Some sort of auto timestamp to the file names so we don’t have to worry about keeping them in order. Right now, if we don’t give a saved track a name it saves it as a blank. Yes, I could keep track of the files by their creation dates/times but it would be nicer if the app gave it a name/time to start off with, which I could change should I want to."

cannot save a waypoint only session

By default save button is disabled when the app is started and the user did not tap the start tracking button.
The problem is that if I add a waypoints, the session still cannot be saved (save button is still disabled). That is, I have to tap on the start tracking button to be able to save a session.

Proposed solution::
add the scenario: In a non started session, if I add a waypoint to the map, enable save and reset buttons.

Import facility

Enhancement . . . After distance display, I see import (.gpx) as a major feature / opportunity. OGT already has export via mail. Mail is a great way to distribute .gpx tracks because it's simple for all involved. I've noticed that clicking onan attached .gpx file in Apple mail / IOS causes IOS to offer a list of available apps that can read .gpx files. Selecting a reader (such as 'gpx reader' allows a direct import and display of the track. Maybe making OGT just a .gpx reader -- rather than adding a comprehensive import dialogue -- is a way to to get started with this functionality.

Wish: recording off-road AND/OR on-road tracks

Hi All,
I wish there could be an option, via a bluetooth button/switch or so, to record off-road/on-road pieces of the trip. And also at saving time a choice for saving only off-road OR on-road, or both, parts of the trip.
To finally, for me, to create an off-road map.

Resume tracking issue

I think its a bug or is it just in my phone. I'm using iPhone 5 with latest iOS 9 and whenever I pause tracking and tap on resume it didnot continue to track. I have to close the app and start tracking fresh.

Not possible to see the description of waypoints in a gpx file.

I use the app to see EV chargepoint data in offline mode. When I import a gpx file I can only see the CDATA fields. I also want to see the CDATA fields.
Can you fix this ? I have attached a sample gpx file.
GoingElectric (4).gpx.zip

If possible (nice to have) can you add a text filter option so I can filter for example on 43kw (faster but less) and 22kw/11kw (slower but more) chargepoints with one file ? Or color code (red/orange/yellow) them ?

Which Version Xcode for compiling

Hi,

I tried Xcode 7, now Xcode 6.4 ... i always get Swift errors.
What did you use to compile the current GitHub Version ?

Thanks in Advance and best regards,
Dominique

Sync with dropbox

From #17.
Synchronize the folder containing all the GPX files with dropbox or some service in the cloud.

Landing page graphic

Enhancement: A suggested landing / start page.
If liked I can supply the image to the aspect ratios required.

Swift 1.2 compatibitlity

I tried to convert the source to swift 1.2 and replaced "UiKit" with "UIKit" but I still get several compiler errors like this one:

/Users/testprojects/iOS-Open-GPX-Tracker-master/OpenGpxTracker/GPXWaypoint+MKAnnotation.swift:66:17: Method 'setCoordinate' with Objective-C selector 'setCoordinate:' conflicts with setter for 'coordinate' with the same Objective-C selector

Enable file sharing through iTunes

iTunes file sharing would allow people to copy all GPX traces to a computer without needing to email them one by one.

Have a look at the image below for an example of what iTunes file sharing looks like.

iTunes file sharing

License

Would you consider using a more liberal license like MIT?

As far as I know GPL is not compatible with the App Store and that if Apple is aware of this they will reject the app.

Disable map-snapping

The tracking seems to "snap" to roads when driving close to existing roads in the map-layer. When driving/walking "off-road" or far from an existing road, the tracking is great (3-5 m accuracy), but then when close to a road, It can abruptly "snap" to what it believes to be an existing road.

This makes it really hard to capture when stretches of roads are altered slightly. Maybe this could be an option?

No track data

Gave permission to location services.
Started tracking.
Walked around a park for 30 minutes.
Saved.
Sent as email.
Looked in GPX file and there was no tracking data, just a few waypoints I added.

Repeated the above with another park. Is there something missing?

October 2015 update

Tested with iPad retina IOS 9

  1. App does not display correctly in portrait mode: full screen is not used and tracking data is not displayed. This was only tested with an iPad
  2. Distance data is repeated in small typeface for no apparent reason
  3. Compass partially obscures trip duration display.

Heading vs orientation of the map

Before writing this comment, I had not realised that OGT, like Apple Maps (that it currently uses), allows finger-rotation of the on-screen map, for instance to allow manual alignment of map North (top) with Magnetic North (the latter as detected by the device's compass function). My comment was a long-winded way of saying it would be great if OGT defaulted to automatic, continuous alignment of map North with compass North. As with Apple maps, the OGT compass icon is very small, even on an iPad -- and only appears after the on-screen map is finger-rotated. Ideally the icon is larger, always on and graphically combines map North and Compass North -- thus emphasising that the above functionality is in operation. I also noted that certain map captions do indeed already rotate when the map is rotated. Combine this with continuous centering of the gps target, and you have a very user-friendly navigator app.

My original comment . . . Several trackers I've used, either don't have a heading function or present the function in such a way as to confuse the user. I think most navigators orientate a paper map rotated such that the direction of travel coincides with the map content ie the map is not held with the top facing North.

To be pedantic, thinking of a mobile device, let's define the top of the device's screen as on the lesser dimension. Let's assume the device is held horizontally with that top furthest away from the user and the side of the screen (the side with the greater dimension) held parallel to the direction of travel. It would be useful if the app placed the direction / heading also parallel with the side of the screen –– rather than having the top of the map facing North.

I imagine the heading is calculated at least from the last two or three gps samples. Ideally the function described would be with a heading arrow symbol combined with a North direction (to avoid confusion as to what the arrow depicts). This implies auto-rotate of the device's screen via its OS is turned off. Setting the app like this could be the default function, with North at the top as an option (or not available at all to keep it simple).

Rotating map's text in step with the map's orientation would be amazing but I don't like to think of the code involved!

Just a Thought

Been using your Open GPX tracker for iOS for a while. But unfortunately I had to shift to Android phone (still using iPad though). Yet as open as Android is supposed to be, I still can't find a replacement of a lightweight GPX tracker like yours. I don't know if this would be the right place to say, but will you take the opportunity to code for Android too.

Auto lock setting

I noticed the track recording turns off during auto-lock... Which could be solved with disabling the auto-lock (by setting) or continue to record gps tracking while in auto-lock. I'd prefer the latter but I am not sure whether that is an option....

(I am working on a gps app myself in swift2, so your project has me interested in many ways!!! Keep it up)

The time stamp is wrong

I left my house at 11:38:50 and when I open the GPX time stamp it shows 19:38:50 so it is 8 hours ahead and therefore my photos do not seem to geotag to the location. Please advise on a possible fix?

Empty map after save

1.- Start tracking
2. Wait some time so a line appears
3. Tap on save

The result is an empty gpx file.

The problem is that the current segment is not saved.

Interface Builder

Is there any reason why you are not using Interface Builder to setup your buttons?

Using IB would remove around one quarter of the code from the ViewController.swift.

Take advantage of WiFi

More of an enhancement then an issue.

Allow the app to take advantage of Wifi when it is available.

track (line) not saved on gpx file when there is a long distance and waypoints

I may have completely missed the purpose of the App and/or missed to activate some feature.
I expected from a "tracker" to be able to hike or ride and get the track 25km ride marked 3 "manual waypoints" on the way and after the ride saved data to a GPX file.
The GPX file contained the 3 manual waypoints but nothing regarding the track.
Again, this may simply be a misuse of the App and if so apologise for this post.
Regards, Pierre
Tousr a vélo 2016-09-24.gpx.txt

No Routes When Starting With A WayPoint - IPhone5

Routes do not display and record to a file when I add a waypoint before pressing the Start Tracking button. this only happens if my first action on loading the app is to set a waypoint. If I open the app and start tracking a route first, both routes and waypoints function normally. Also, if I reset the route ( after recording a route before any waypoints), and then add a waypoint first, both routes and waypoints function normally.

This was observed on an IPhone 5 with the latest version of the app. The issue persisted after removal and reinstallation of the app.

Use track as route

On reflection, my original comment for an enhancement is not clear. The real function being sought is to plan and save a route by dropping pins on the map as waypoints. OGT draws links between the pins and incrementally calculates the sum of the distances between the pins. The functionality described in my original comment then still applies.

My original comment . . . Using a pre-recorded track as a route is very useful. It's possible with very little modification . . .
• select required track from list ('load in map')
• track is displayed with its distance and duration (as previous comment)

  • add waypoints if required (as now)
    • if required, save track together with waypoints (as now). While saving, change name to include 'route' if required
    • press START: distance and duration are zeroed, then begin counting up
    • pre-recorded track (now a route) stays on screen in blue (not cleared, as now, when distance/duration is RESET)
    • new track is plotted in red
    • PAUSE then SAVE stores the new track only (which becomes blue)
    • PAUSE, without SAVE, retains both route and track on screen
    • probably, RESET becomes redundant but is replaced with CLEAR (to remove track/s from screen)

Wish: Add ability to import GPX file via URL

If I am on my desktop, then I can easily download a GPX file, and get in some fashion or another to be able to be read by GPX reader, however, when on vacation, I sometimes only have my iOS devices, and downloading a URL is not always easy or even possible for me. It would be great if I could just paste a URL, and get GPX Reader to open a GPX file from that location.

Map not centred on location, on start up

As I recall, at my first use of the app, the map presented located instantly on the current location. Now the start mode is a location in the middle of the ocean! To get the map centred on the location takes two presses of the dart symbol. No big deal but confusing for a new user.

All data lost after crash.

Since the tracked points are only stored in memory, if the app crashes all data is lost. This could also happen if iOS or springboard crashes.

I would suggest serialising the points in a way that is fast and doesn't suck the users battery. I guess appending each new point to the end of a file would use the least amount of power. We could use our own JSON format or use a GPX format.

I would be happy to help out with the implementation. What do you think?

Info Button is unresponsive

Most of the time the Info-Button at the top right corner is unresponsive. The Info-Menu nearly never opens.

App Store Rejection: App Icon and follow user icon are similar to Apple Maps folow icon

Apple Rejected the App. The reason:

8.3 - Apps that appear confusingly similar to an existing Apple product, interface, or advertising theme will be rejected

Your app contains features that mimic the Apple Maps icon at the bottom right corner of the Maps iOS interface or behavior.

We’ve attached screenshot(s) for your reference.

temp uilwkgxf
temp wjtexgag

Therefore it seems that the follow user icon is like Apple Maps follow user.

Here is an Apple Maps icon
image

It's curious because the Human Interface Guidelines of Apple say you should use similar icons as user is already familiar with them:


Bar Icons

iOS provides a lot of small icons—representing common tasks and types of content—for use in tab bars, toolbars, and navigation bars. It’s a good idea to use the built-in icons as much as possible because users already know what they mean.

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Iconography.html#//apple_ref/doc/uid/TP40006556-CH59-SW1

Also, something that I cannot understand is that the App Icon is the arrow, but I don't know how it may confuse the user.

I've summited an appeal

Add distance as measure

Add the distance of the current track.
Use meters till 1k and then set km with two decimals (ie: 1.12 km)

File list: add track duration and distance

Requires #8 (add distance to current track).

In the file list, right now is only displayed the name of the track. The feature to develop is to add

  • distance
  • elapsed time

in the file list.

Maybe date?

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.