Easily share your gps location via email, text messaging, twitter, Facebook, WhatsApp, etc. The recipient receives a link to either Apple Maps, Bing maps™, Google maps™, OpenStreetMap®, Yandex, or HERE (Nokia) with your position on it. Note that gps does not work well under a roof. For best results, use outdoors.
Benefits of the paid version:
- Save and share multiple locations.
- Add and edit locations on a map.
- Landscape support and iPad split screen support.
- Import .kml and .kmz files.
- Export .kml files via cloud or attach to email.
- No advertisements.
- Custom message header and footer.
- Relative Bearing To Point. (added July 2017)
- Large font readout that displays latitude, longitude, speed, heading, and altitude. (added July 2017)
- Message structure control. Define how properties for each location appear in a message. (added August 2017)
Other GPS related apps
March 2018 update
- Landscape and iPad split screen support. This was much more involved than one might think, so please report any bugs via the email link in the app.
- Better iPhoneX support.
- Too many minor changes to mention, but the most notable are:
- The 'close keyboard' button no longer appears on some forms. Instead, the form is wrapped in a scrollable view that hovers above the keyboard. The equivalent of the 'close keyboard' button is beneath the scrollbar that temporary appears when the keyboard is open.
- Map zoom buttons are more 'powerful':
- 1 tap: zoom in/out 4x (used to be 2x)
- 2 taps: zoom in/out 16x (used to be 4x)
- 3 taps: zoom in/out 64x (used to be 8x)
- 4 taps: zoom in/out almost as much as possible
December 2017 update
- If accuracy is poor and Wi-Fi is off, the user is informed that enabling Wi-Fi may improve accuracy. This appears near the accuracy readout on the main page like so:
- If the device is a Wi-Fi only iPad (ie. no satellite GPS receiver), the user is informed. This also appears near the accuracy readout on the main page.
- User is notified if an auto-fill email address is invalid.
- Disabled auto correct for some text entry fields.
October 2017 update
Removed the GPS requirement to make the app available for all iPads. There has been a bug in the Apple App store for quite some time that allows a user to purchase the full version on an iPhone or cellular iPad and then install it on all devices with on same account including non-GPS iPads. However, when the user tries to update, they can't update the app on the devices that it never should have been installed on in the first place.
Note that these non-cellular iPads do not have a satellite GPS receiver, and their only method of determining location is by passing the list of nearby Wi-Fi networks and signal strengths to Apple's location database.
Note that this requires an internet connection and several visible Wi-Fi networks. In densely populated areas this works well enough, although less accurate, and will not work at all off-grid.
(read more about how location is determined)
August 2017 update
Important fix for a long term bug that was recently discovered. If you have used the DMS (Degrees, Minutes, Seconds) format to save a location, some error was introduced. There is a way to 'undo' this error in about 98% of cases. (read more)
Added a 'Message structure' setting. You can define how properties for each location appear in a message. (read more)
Added a 'Custom message header' in addition to the old 'Custom message footer'.
Fix to prevent rare crash when importing kml files. I suspect that this is a cloud service bug. For example, user selects file to import, but has no data connection. File is not on local device, file system can't find file, and passes a null string to this app which causes the crash.
On the map, prevented the long press 'how you add a new pin' from traveling through views in the foreground. For example long pressing the edit button here:
- Fixed the custom map URL setting. Apparently the custom URLs never worked.
- Removed Catalan language.
would be treated like adding a new pin. This was also applied to the 2 bars along the edges of the map page.
July 2017 update
- Added more coordinate format options. You can now choose how to indicate hemisphere as well as adjust how many decimal places are displayed. The 'Hemisphere indicator' and 'Coordinate precision' setting options. (read more)
- Added a 'Distance and relative bearing to location' feature that can be used to navigate to a location. (read more)
- Added a large font readout that displays lat, lon, speed, heading, and altitude at the request of a spray plane (crop duster) pilot. The entry point is 'Large view' near the bottom of the menu whilst on the home page. This was added to the full version as well as the ~$2 ad free version. (read more)
- Since the above addition displays speed, speed units were added to the settings. These are identical to my odometer app: kph, mph, m/s, ft/s, knots.
- Added a 'Allow map rotation' setting that defaults to 'No'. Often when zooming the map, it would accidentally get rotated so that North is no longer up.
- Some layout changes for things that were just too small on a phone. Namely, the cells in the location list are taller, the map scale indicator is larger, the buttons on the edit location popup are large enough to click without frustration, and the tutorial/instructions that explain what each button on the map page does has much larger font.
- Added some basic support for VoiceOver (for the visually impaired). This is limited to the main page.
- Fixed the bug that caused the settings page to crash for iOS 8.x .
- Fixed a bug that sometimes caused the map pin popover to not display the location name. ie, only delete and edit buttons appeared.
- Bug introduced in version 2.19: Crash when export or import is clicked. These buttons on the list page:
Discovered July 20. New version (2.20) submitted July 20. Hopefully it will get approved before the weekend.
July 20 11pm: version 2.20 is available.
I digress, but this is an excellent example of why enabling crash reports matters. Without that, I may not have known about this bug until someone told me about it, which could have been weeks. Instead, it was corrected within 24 hours.
Coordinate Format Options
Now there are 3 setting options that configure how latitude and longitude are displayed in the app. In addition to the old 'Coordinate format' setting, there's now 'Coordinate precision' and 'Hemisphere indicator' settings.
Coordinate precision has 3 options: High (default), Medium, Low. Medium and low each round to 1 decimal place less. For example:
DD.xxxxxx (high) (0.16 meter max rounding error)
DD.xxxxx (medium) (1.6 meters)
DD.xxxx (low) (15.7 meters)
DD MM.xxxx (high) (0.26 meter max rounding error)
DD MM.xxx (medium) (2.6 meters)
DD MM.xx (low) (26.2 meters)
Degrees, Minutes, Seconds
DD MM SS.xx (high) (0.44 meter max rounding error)
DD MM SS.x (medium) (4.4 meters)
DD MM SS (low) (43.8 meters)
Hemisphere indicator has 5 options:
1) Cardinal Direction
Each hemisphere is represented by appending an abbreviation such as N,S,E,W
ex: 37.330278 N , 122.032625 W
2) Negative only
South and West are prefixed with a minus sign
ex: 37.330278 , -122.032625
3) Negative and positive
South and West are prefixed with a minus sign
North and East are prefixed with a positive sign
ex: +37.330278 , -122.032625
You probably know which hemispheres that you are in
ex: 37.330278 , 122.032625
5) Default (mixed)
Degrees is 'Negative only' ex: 37.330278 , -122.032625
DM and DMS are 'Cardinal Direction' ex: 37° 19.8167′ N , 122° 1.9575′ W
Relative Bearing To Point
This displays your relative bearing to a saved location. If heading directly towards the location, the arrow will point up. If heading away, it will point down.
- If on the list page, the selected (highlighted) location will be used.
- If on the map page, the selected map marker will be used.
- Note that you must be moving in a relatively straight line for about 8 meters to somewhat accurately determine your current heading.
At slow speeds, this can be tricky, as a location from say, 15 seconds ago might be used to calculate your heading.
The bottom view displays your path with a yellow line, and an orange line shows how your heading was calculated. These should roughly overlap.
Your current location is always the center and your old locations will trail off an edge. Up is North, down is South, right is East, etc. So for example, if the yellow line is trailing off the top left corner (NW), that means that you are traveling Southeast.
Here's an example of a good heading calculation whilst walking at low speed:
The yellow line isn't straight, but the orange line accurately represents the heading.
Another 'good' example:
A bad example:
Walking in circles
To save space, only values are displayed.
To see what the values represent,
. Also notice that two semi-transparent buttons temporarily appear.|
- The center button has been removed, as screen orientation is now determined by device orientation.
- The other larger button cycles through 5 screen layout options: 1/5, 2/5 ... 5/5
January 2017 update
- Corrected some of the new setting options that were not functioning properly namely 'Email to autofill' and 'Phone to autofill'
- Added reverse geocoding on the map page. Tap the map to get nearby addresses. (Reverse geocoding)
- Contact addresses, notes, etc can be imported to the map search field. (Geocoding with imported contact information)
- 'Email to autofill' and 'Phone to autofill' settings can now be imported from contacts. (Populate autofill settings from contacts)
- Faster list page scrolling and map load times.
- Can make location from search result or a reverse geocoding result. Tap the '+' button on a map search result to create a location prefilled with the information. (more below)
- Corrected some .kml formatting issues, mainly the 5 XML special characters ' " > < &
- Kml files are now named with a human readable time stamp in the form of YYYY.MM.DD_HH.MM.SS rather than milliseconds since 1970. Example:coords_2016.12.27_18.48.58.kml instead of coords_1482459732.kml
- Faster application open time and tab switching. Locations are kept in memory rather than reading from the database and only saved to the database when needed (The slow I/O work is done on a secondary thread). Lazy load some button icon images. Much faster font scaling algorithm (though this only took a few milliseconds before, it's used almost everywhere and is at least 10 times faster)
- Removed support for iOS 7.x
- Bug introduced for iOS versions < 9 The settings page will crash. Again this only affects iOS 8.x
Populate autofill settings from contacts
1) The application's settings page.
2) Tap the add button (+)
3) Click the contacts icon
4) Select one of your contacts
5) Select a field. Preferably an email address.
6) The email address is imported and the contact's name is inserted into the 'notes field'
Geocoding with imported contact information
1) Click the contacts icon near top right.
2) Select a contact
3) Select a field. Preferably an address.
4) Upon selecting a field, the search bar is populated and a search is executed.
Create location from geocoding result
Continuing from the image above.
To create a new location populated with this information, click the '+' button.
1) Note that latitude, longitude, name, and notes are automaticaly populated.
Reverse geocoding (Find addresses near a point)
1) In this example, the yellow dot near the center of the map is where we will click.
Note that the '?' icon on the sidebar has been toggled and is shaded orange.
2) After clicking on the point of interest, the map has zoomed out some to show some potential result markers.
In this case, there are 3. They are labeled (0,1,2) and are ranked with the lowest number being the most probable result.
A green map pin indicates where you clicked.
3) By clicking the > arrow, you can advance to the next result.
4) Clicking the > arrow again displays the last of the 3 results. Note that each result has a radius associated with it and is indicated with a yellow circle that becomes more pronounced when selected.
To remove the results from the map, press the '?' button on the side bar.
Press the '?' button one more time to toggle back to normal map mode. (so that clicking the map won't result in another reverse geocoding)
September 2016 update
Corrected in the Sep 6 update
In degrees format, the negative sign is missing for the Western Hemisphere. For example, in the screenshot below, 74.044636 should be -74.044636 for New York City.
Map links are not affected by this.
Thanks to José from Mexico for pointing that out.
Corrected in the Sep 6 update
Menu is slightly too tall on phones.
User interface changes
The 'save coordinates' button has been moved so that the user can see the expected precision before saving.
Note that it usually takes several seconds for the satellite GPS receiver to warm up and provide accurate position data. During this time, it's possible to save an old location or an inaccurate location reported by cellular tower triangulation.
This entire group of buttons
now acts on the selected location (blue) in the list, and will hide when no location is selected.
Better settings page
Previously, several settings properties only allowed the user to enter a single value, which had to be deleted to use another value.
Now several values can be saved and selected as needed without the need to re-enter the value each time. Example:
Now we will delete Joe by selecting that row, and pressing the trash icon.
Joe is gone,
Now we will add another by pressing the '+' button
New entry added
Map Links aka Map URLs
Apple maps link
Thanks to Michael from Texas for letting me know about this.
For users with an Apple device (Mac, iPhone, iPad, etc), this opens the native Apple Maps application.
Users with non-Apple devices are redirected to Google Maps. (Note that there is no web-based version of Apple Maps)
Custom map URLs
Many requests asking for more options when sharing a URL to a map provider have been received. Some users would like to specify zoom level, others would like to specify the map layer, etc. So rather than catering to each individual request, users can create custom URLs.
Custom Map Links Tutorial and Help Page
* More precisely, this doesn't necessarily need to be a URL. More like a simple API to build strings using a lat/lon coordinates.
How the home page may appear:
Tapping the email button prefills an email for you to send.
Tapping the share button gives you more sharing options, but most people prefer email or text.
Tapping the text message button prefills a text message for you to send. Note that we try to keep under the 160 character limit for a text message.
Save a .kml file to cloud storage. Note that only checked locations are included in the kml file and shown on the map. In this screenshot, Paris will not be included in the kml file or shown on the map.
Dropbox selected. Note that you must have iCloud, Dropbox, or whatever cloud storage provider setup and enabled on your device. The file name is coords_1440787837.kml. The strange number is the time stamp.
Import a .kml or .kmz file from cloud storage. Choose cloud provider as before.
Share the checked locations. 'Include in body' means to list the human readable information and map link url in the body of the message. Note that there is a character limit as to how long a message body can be, so if you try to share 200 locations with 'include in body' checked, the app will most likely crash.
Shows or hides 4 buttons. The first 3 check or uncheck cells in bulk. Note that only checked location are shown on the map and exported when you share via email or save a file.
The Search function filters items in the list that contain a substring. Note that both the name and the notes fields are searched: Düsseldorf, Opera House
Deletes the selected cell after showing a 'confirm delete' popup.
Move the selected cell up or down. Long pressing will move the cell to the top or bottom of the list. For example, here we move London to the top.
September, 2016. This button has been moved to another screen.
Add a new location initialized with your current location
Edit the selected location.
This is not a tab like the 3 others. Rather it opens a popup menu.
Copy Coordinates has a different function depending on which page you are on:
Home Page: The coordinates of your current location are copied to the clipboard.
List Page: The coordinates of the selected list location are copied to the clipboard.
Map Page: The coordinates of the selected map location are copied to the clipboard.
Copy map link has a different function depending on which page you are on:
Home Page: The map link of your current location is copied to the clipboard.
List Page: The map link of the selected list location is copied to the clipboard.
Map Page: The map link of the selected map location is copied to the clipboard.
Once something is copied to the clipboard, you can exit the app and paste it wherever you want.
This defaults to your device's language preference. If you are a non-native English speaker and you are reading this, you may want to set to English since the translations are probably are not the best.
Light or dark background.
Dark is better for night use.
Degrees, Minutes, Seconds: 51° 30′ 2.81″ N
Degrees, Minutes: 51° 30.0468′ N
Small distance units
Used for altitude and GPS precision. Three options:
Map Provider for sharing locations
The map link url that is generated for a location.
Six default options:
Apple with Google fallback http://maps.apple.com/?q=51.50078,-0.12467
HERE (Nokia) https://www.here.com/location/?map=51.50078,-0.12467,12,satellite
Default name for new location
Instead of the default Location 1, Location 2, Location 3,
you can replace 'Location' with whatever you like. Each new default name will start numbering at 1...
My_2016_Fiji_Vacation 1, My_2016_Fiji_Vacation 2...
derelict coastal fortification 1, derelict coastal fortification 2...
Email to auto fill
pre-fill the TO: field when preparing an email. This saves a few clicks if you usually send to the same email address. For multiple addresses, separate them with a comma as usual.
Phone number to auto fill
pre-fill the TO: field when preparing a text message. This saves a few clicks if you usually send to the same number.
Map Layer Removed from the settings menu since it is has been on the map page side bar for some time in the form of this icon:
hybrid: satellite view and roads
satellite: satellite view only
standard: roads only (This will load faster)
Show current location on map
That's the blinking blue dot on the map.
Decimal places and precision
One may wonder how many decimal places are needed to represent a point at a desired level of accuracy for a given coordinate format.
Let's do the math...
The circumference of the Earth is about 40,030,000 meters
Each degree of lat/lon represents about 111,119 meters (40,030,000/360) at the equator.
1 decimal place ~= 11,119m
2 decimal places ~= 1111.9m
3 decimal places ~= 111.19m
4 decimal places ~= 11.119m
5 decimal places ~= 1.1119m
6 decimal places ~= 0.11119m
7 decimal places ~= 0.011119m
8 decimal places ~= 0.0011119m
9 decimal places ~= 0.00011119m (a tectonic plate moves about this much in a day assuming a constant 5 cm/year movement)
10 decimal places ~= 0.000011119m
11 decimal places ~= 0.0000011119m
12 decimal places ~= 0.00000011119m (a tectonic plate moves about this much in a minute assuming a constant 5 cm/year movement)
Each minute represents about 1852 meters at the equator. (111,119/60)
1 decimal place ~= 185.2m
2 decimal places ~= 18.52m
3 decimal places ~= 1.852m
4 decimal places ~= 0.1852m
Each second represents about 31 meters at the equator. (1852/60)
1 decimal place ~= 3.1m
2 decimal places ~= 0.31m
* This only considers error in one dimension, since we are considering error in two dimensions, potential error may be as much as error * sqrt(2) ~= 1.42
Frequently asked questions
Q I am looking to find the exact GPS coordinates of a place, but they change all the time even when not moving. Is this normal?
Yes, it is normal for the last 2 or 3 digits of latitude and/or longitude to change frequently. Low cost satellite GPS recieivers (like those found in phones) are usually off by several meters.
When using the default settings, the last digit expresses accuracy to less than 1 meter.
The second to last digit expresses accuracy to less than 10 meters.
Please see Decimal places and precision for more.
Q Which Datum is used?
Q Is there any limit to the number of locations that can be stored?
There is no artificial limit, but scrolling the map will start to become slower with several hundred locations being displayed. Several thousand locations showing on the map is possible, but will be choppy.
Q Why do you only show latitude/longitude precision to 5 or 6 decimal places while other applications show many more?
A Because it is misleading. Consumer grade GPS receivers generally have several meters of error. In degrees format, 5 decimal places is accurate to about 1.5 meters. 6 decimal places is accurate to about 15 cm. The .kml export rounds lon/lat to 7 decimal places, so that's a max error of less than 2 cm or about an inch for the metrically impaired.
Q When I copy coordinates, it says that it’s copied to the clipboard. I can’t find the clipboard in my iPhone.
The clipboard is the copy/paste buffer. Very similar to copy/paste on a PC. For example, after copy 'coordinates to clipboard', you should be able to long press on a text input form and paste them outside of the app.
Q Why are there no options for satellite, count, GPS time, etc
The Apple location API does not provide any methods to retrieve this data. You will find some apps on the App store that claim to do this, but that's all they do.
Q How to drag a map pin?
1) Select a map pin so that its popup shows:
2) Press and hold the pin until it lifts from under your finger:
3) Drag and drop it:
Please include 'My GPS Coordinates (Apple)' in the subject.