back

Custom Map Links Help Page

In this tutorial the 'Big Ben' clock tower is used as the location

latitude : 51.50078262
longitude : -0.12466962

Basic Usage

Two special tags are replaced by the latitude and longitude values:
<latDegreesN>
<lonDegreesN>
N is an integer representing the maximum number of decimal places.
Examples:
<latDegrees6> is replaced by 51.500782
<latDegrees1> is replaced by 51.5
<latDegrees0> is replaced by 51

Here are the strings used for the default options along with the URLs they they generate:

https://maps.apple.com/?q=<latDegrees5>,<lonDegrees5>
https://maps.apple.com/?q=51.50078,-0.12466

https://maps.google.com/?q=<latDegrees5>,<lonDegrees5>
https://maps.google.com/?q=51.50078,-0.12466

https://bing.com/maps?cp=<latDegrees4>~<lonDegrees4>&sty=b&sp=point.<latDegrees5>_<lonDegrees5>_location&lvl=9
https://bing.com/maps?cp=51.5007~-0.1246&sty=b&sp=point.51.50078_-0.12466_location&lvl=9

https://www.maps.yandex.com/?ll=<lonDegrees4>,<latDegrees4>&spn=0.1,0.1&l=map&pt=<lonDegrees5>,<latDegrees5>
https://www.maps.yandex.com/?ll=-0.1246,51.5007,&spn=0.1,0.1&l=map&pt=-0.12466,51.50078

https://www.here.com/location/?map=<latDegrees5>,<lonDegrees5>,12,satellite
https://www.here.com/location/?map=51.50078,-0.12466,12,satellite

https://www.openstreetmap.org/?mlat=<latDegrees5>&mlon=<lonDegrees5>&zoom=12&layers=M
https://www.openstreetmap.org/?mlat=51.50078&mlon=-0.12466&zoom=12&layers=M

Advanced Usage

Note that legal URL characters are ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=.
Any other character needs to be encoded with the percent-encoding
You can refer to this reference

You can access Minutes and Seconds with the following tags:
<latMinutesN>
<lonMinutesN>
<latSecondsN>
<lonSecondsN>

If you use minutes, degrees should show 0 decimal places
<latDegrees0> <latMinutes4> becomes
51 30.0469
<lonDegrees0> <lonMinutes4> becomes
-0 7.4801

If you use seconds, degrees and minutes should show 0 decimal places
<latDegrees0> <latMinutes0> <latSeconds1> becomes
51 30 2.8
<lonDegrees0> <lonMinutes0> <latSeconds1> becomes
-0 7 28.8




UTM (Universal Transverse Mericator)

Still using Big Ben Clock Tower:
30N 699562 5709437

<utmZone>               01-60 (always 2 digits)
30N 699562 5709437

<utmHemisphere>       'N' or 'S' for North and South. Note that you can use ifLatPositive: and ifLatNegative: (see above) to use other hemishpere indicators.
30N 699562 5709437

<utmEasting>
30N 699562 5709437

<utmNorthing>
30N 699562 5709437

<utmZone><utmHemisphere> <utmEasting> <utmNorthing>     will produce '30N 699562 5709437'

To use other Hemisphere indicators, for example Norden and Süden (German)
<utmZone> <ifLatPositive:Norden><ifLatNegative:Süden> <utmEasting> <utmNorthing>     will produce '30 Norden 699562 5709437'

To use latitude band (C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X) instead of hemisphere, use <mgrsLatitudeBand>
<utmZone><mgrsLatitudeBand> <utmEasting> <utmNorthing>     will produce '30U 699562 5709437'

more options for the easting and northing tags

<utmEasting1>     1 decimal place max
<utmEasting2>     2 decimal places max
<utmEasting3>     3 decimal places max

<utmNorthing1>     1 decimal place max
<utmNorthing2>     2 decimal places max
<utmNorthing3>     3 decimal place max

<utmEasting1:1>     1 decimal place regardless



MGRS (Military Grid Reference System)

Still using Big Ben Clock Tower:
30UXC 99562 09437

<mgrsZone>              
30UXC 99562 09437

<mgrsLatitudeBand>
30UXC 99562 09437

<mgrs100kEastingBand>
30UXC 99562 09437

<mgrs100kNorthingBand>
30UXC 99562 09437

<mgrsLeadingStr>     is the combination of the above 4
30UXC 99562 09437

<mgrsEasting>
30UXC 99562 09437

<mgrsNorthing>
30UXC 99562 09437

<mgrsZone><mgrsLatitudeBand><mgrs100kEastingBand><mgrs100kNorthingBand> <mgrsEasting> <mgrsNorthing>     will produce 30UXC 99562 09437

<mgrsLeadingStr> <mgrsEasting> <mgrsNorthing>     will produce 30UXC 99562 09437

more options for the easting and northing tags

<mgrsEasting1>     1 decimal place max
<mgrsEasting2>     2 decimal places max
<mgrsEasting3>     3 decimal places max

<mgrsNorthing1>     1 decimal place max
<mgrsNorthing2>     2 decimal places max
<mgrsNorthing3>     3 decimal place max

Truncation to 10, 100, 1000, and 10000 meter grids
Note that <mgrsEasting> and <mgrsNorthing> round to the nearest meter. Some applications require of prefer truncation.

<mgrsEastingTrunc>   <mgrsEastingTrunc1>
<mgrsEastingTrunc10>   <mgrsEastingTrunc10m>
<mgrsEastingTrunc100>   <mgrsEastingTrunc100m>
<mgrsEastingTrunc1000>   <mgrsEastingTrunc1000m>   <mgrsEastingTrunc1km>
<mgrsEastingTrunc10000>   <mgrsEastingTrunc10000m>   <mgrsEastingTrunc10km>

<mgrsNorthingTrunc>   <mgrsNorthingTrunc1>
<mgrsNorthingTrunc10>   <mgrsNorthingTrunc10m>
<mgrsNorthingTrunc100>   <mgrsNorthingTrunc100m>
<mgrsNorthingTrunc1000>   <mgrsNorthingTrunc1000m>   <mgrsNorthingTrunc1km>
<mgrsNorthingTrunc10000>   <mgrsNorthingTrunc10000m>   <mgrsNorthingTrunc10km>

examples:
<mgrsLeadingStr> <mgrsEastingTrunc1> <mgrsNorthingTrunc1> will produce 30UXC 99562 09436
<mgrsLeadingStr> <mgrsEastingTrunc10> <mgrsNorthingTrunc10> will produce 30UXC 9956 0943
<mgrsLeadingStr> <mgrsEastingTrunc100> <mgrsNorthingTrunc100> will produce 30UXC 995 094
<mgrsLeadingStr> <mgrsEastingTrunc1000> <mgrsNorthingTrunc1000> will produce 30UXC 99 09
<mgrsLeadingStr> <mgrsEastingTrunc10000> <mgrsNorthingTrunc10000> will produce 30UXC 9 0



Defining minimum integer and fraction digits
All tags that allow you to define maxumum decimal places also allow you to define minimum decimal places and minimum integer places by specifing min fraction and min integer after maximum decimal
<tagmaxFraction:minFraction:minInteger>
for example here using latitude = 3.4560000
<latDegrees6>        will produce   3.456         (trailiing zeros omitted)
<latDegrees6:6>     will produce   3.456000   (minFraction of 6 forces 6 decial places regardless)
<latDegrees6:6:2>   will produce 03.456000   (minInteger of 2 forces the leading 0)

Getting rid of negative signs and representing hemispheres

To remove negative signs insert ABS (absolute value) in the latDegrees and lonDegrees tags. ABS is not needed for minutes and seconds since they are always positive.
<latDegrees0ABS> <lonDegrees0ABS>

To represent hemispheres use the 4 tags:
<ifLatPositive:North>
<ifLatNegative:South>
<ifLonPositive:East>
<ifLonNegative:West>
You can replace North, South, East, and West with whatever you'd like for the respective hemispheres.

<latDegrees0ABS> <latMinutes0> <latSeconds1> <ifLatPositive:N><ifLatNegative:S> becomes
51 30 2.8 N
<lonDegrees0ABS> <lonMinutes0> <lonSeconds1> <ifLonPositive:E><ifLonNegative:W> becomes
0 7 28.8 W

Note that <ifLatNegative:S> and <ifLonPositive:E> are ignored because latitude is positive and longitude is negative.


Putting it all together

Suppose that you want to create a url like this:
https://www.google.com/maps/place/51°30'2.8"N+0°0'28.8"W
First note that the following characters are not URL legal: ° ' "
Using this reference we see that
° = %C2%B0
' = %27
" = %22
https://www.google.com/maps/place/<latDegrees0ABS>°<latMinutes0>'<latSeconds1>"<ifLatPositive:N><ifLatNegative:S>+<lonDegrees0ABS>°<lonMinutes0>'<lonSeconds1>"<ifLonPositive:E><ifLonNegative:W>
now replace ° ' " with their URL legal counterparts
https://www.google.com/maps/place/<latDegrees0ABS>%C2%B0<latMinutes0>%27<latSeconds1>%22<ifLatPositive:N><ifLatNegative:S>+<lonDegrees0ABS>%C2%B0<lonMinutes0>%27<lonSeconds1>%22<ifLonPositive:E><ifLonNegative:W>
becomes
https://www.google.com/maps/place/51%C2%B030%272.8%22N+0%C2%B07%2728.8%22W


You'll probably want to build a complex URL like the last example on a desktop or laptop computer.
To easily paste it in the app, or to distribute a custom URL to a large group or people, you can prepend the name followed by <nameDelimeter>
You can try by pasting this line into the app:
Google Maps DMS<nameDelimeter>https://www.google.com/maps/place/<latDegrees0ABS>%C2%B0<latMinutes0>%27<latSeconds1>%22<ifLatPositive:N><ifLatNegative:S>+<lonDegrees0ABS>%C2%B0<lonMinutes0>%27<lonSeconds1>%22<ifLonPositive:E><ifLonNegative:W>

Notes

All 'tags' discussed above are not case sensitive. ie.. <latDegrees0ABS> could also be <latdegrees0abs>


Contact

Email: kevinwillett80@yahoo.com
Please include 'My GPS Coordinates (Apple)' in the subject.

back