Page 4 of 5

Re: what3words & Garmin Drive App

Posted: Sun Mar 03, 2024 7:07 pm
by guiri
guiri wrote: Fri Mar 01, 2024 1:12 pm iOverlander sends the following intent for a campsite near me:
geo:0,0?q=53.33704,-1.92364(Chinley Campsite)
Note the campsite name label in parentheses.

Now, if I go to the same location in what3words, and then navigate to it, the intent that is sent is:
geo:0,0?q=53.337039,-1.923649
Putting aside the slight difference in the coordinates, the main difference is that what3words does not send a label in parentheses.

I believe that it is this omission by what3words that causes Garmin Drive to reject the request as "No location information found in the link provided".
Oh dear, I've been suckered by a Garmin programmer!

I thought iOverlander worked because it sent a label to go with the coordinates, however I've tried programmatically sending other geo URI to Drive and it turns out that Drive is completely ignoring the latitude and longitude in that format. Instead it attempts to do a location lookup on the text in the parentheses. In the case of "Chinley Campsite", the XT ends up storing the location as 53.338269,-1.939154 (which is in Chinley village about a mile away).

This is absolutely not the Android standard; the label is in theory to identify the place on the map, not be a search term. :shock:

How did I find this out? I replaced the label "Chinley Campsite" with "Shared Location" (whilst leaving the latitude and longitude), and it stopped working (with Drive saying it couldn't find a location). I then replaced "Chinley Campsite" with the name of another local village, and Garmin located that village.

I did manage to send latitude and longitude to Drive as a plain text intent, but then Drive decides to relocate it. So when sending the Chinley Campsite location as string "53.33704,-1.92364", the XT inexplicably stores this as 53.336446,-1.920759 (which is on the main road so you'd have trouble locating the campsite). I think it is round tripping the location via Google and storing what it believes is a more significant point (not what you wanted though).

This may be what people who paste latitude and longitude into Drive are also seeing; that Drive does not pass coordinates through to the XT unmolested.

Summary (but I think we knew this already)... Drive cannot be trusted with latitude and longitude.

I'm not even convinced that sending the coordinates to Google Maps and then onwards to Drive is robust.

The safest workaround I think is this one from AugustFalcon; to paste the coordinates into the search in Tread, then select the suggestion which reflects the actual location required. Save this as a waypoint then sync to the XT.

I'm going to see if programmatically I can create a gpx file on the fly with the required waypoint, and send that via Drive to the XT!

Re: what3words & Garmin Drive App

Posted: Sun Mar 03, 2024 11:43 pm
by Selsley
just found the share on google maps...for garmin drive
use W3W then navigate with google maps, at the bottom of maps, you have 4 options - directions, start, save, share..
press share then nudge the bottom up to reveal garmin drive icon to send co ordinates

right i am in doors right now at stupid oclock and my sat nav is in the car. but garmin drive IS accepting the address and it is showing a marker next to the place whose postcode i used on the garmin drive mini map, so i would assume it will send it to my navigator.

although not as good as going W3W to garmin drive, it is a work around.

Re: what3words & Garmin Drive App

Posted: Mon Mar 04, 2024 1:18 pm
by guiri
Selsley wrote: Sun Mar 03, 2024 11:43 pm just found the share on google maps...for garmin drive
...
press share then nudge the bottom up to reveal garmin drive icon to send co ordinates
Except it doesn't send coordinates...

When you share from Google Maps to Drive, a URL with a Google place ID is sent. I don't think we can guarantee that a set of coordinates from what3words survives encoding into a place ID by Maps then decoding back into coordinates by Garmin Drive.

If anyone is using what3words because they want accuracy to the 3m x 3m square of the what3words location, then the safer way to get that into the XT is pasting into the Tread search box to create a waypoint with the exact coordinates. Doing that, the Google geocoding API is not involved.

I'll report back once I've had a play with trying to do this more directly with a gpx file on the fly.

Re: what3words & Garmin Drive App

Posted: Mon Mar 04, 2024 10:22 pm
by guiri
guiri wrote: Mon Mar 04, 2024 1:18 pm I'll report back once I've had a play with trying to do this more directly with a gpx file on the fly.
I have proof of concept code now that can...
  1. Take latitude and longitude (and a label) from an application (like what3words or iOverlander), either via the geo uri (navigate) or plain text (share)
  2. Convert on the fly to a gpx file with a single waypoint
  3. Send that gpx to Garmin Drive
  4. When received on the XT, the message is "New locations were received and were added to Saved Locations"
  5. The coordinates in the waypoint that is created on the XT are exactly as sent
An app based on this proof of concept would enable coordinates to be sent from what3words (or similar) to the XT without going via the Google geocoding API and without needing Explore/Tread cloud access. :geek:

Re: what3words & Garmin Drive App

Posted: Mon Mar 04, 2024 10:28 pm
by jfheath
@guiri - That is a clever, different approach to the issue. Very neat.

Re: what3words & Garmin Drive App

Posted: Mon Mar 04, 2024 10:38 pm
by guiri
jfheath wrote: Mon Mar 04, 2024 10:28 pm Very neat.
It will be if I can make it usable. I have in mind to make it a pass thru app, meaning that if selected as a target for a location, it will push directly to Drive without further intervention. The less faffing at the roadside the better in my view.

Re: what3words & Garmin Drive App

Posted: Thu Mar 07, 2024 4:54 pm
by guiri
Hi all

I've attached a zip file with an apk for an app that I have called NavHelper.

This is a passthrough app, meaning that as soon as it receives valid coordinates, it will share those as a (temp) gpx file containing a single waypoint. If you run the app directly, you'll see a blank screen with only the app label.

How to use with what3words (as an example):
  1. Select the required location in what3words
  2. Click on Navigate
  3. Choose NavHelper from the "Get Directions" picker
  4. The NavHelper blank screen will briefly appear followed by the "Complete action using" picker
  5. Select (Garmin) Drive
  6. Drive will show a "GPX File Received" pop up
  7. Click on Send
  8. When received on the XT, "New locations were received and were added to Saved Locations" is displayed
Note that the waypoint is named using the coordinates, unless there is a label sent with the geo intent (iOverlander does this for example, see posts above).

Re: what3words & Garmin Drive App

Posted: Thu Mar 07, 2024 6:46 pm
by FrankB
Will try it and let you know.

Re: what3words & Garmin Drive App

Posted: Thu Mar 07, 2024 7:07 pm
by FrankB
Install went OK
Tried to send a location from Google Maps. A blank NavHelper screen appears.
Tried to send a location from Organic Maps (A spin off from Maps.Me). A blank NavHelper screen appears.
Installed What3words, sent a location and that worked. I was able to 'forward' it to Garmin Drive and to 'Google Drive' that I used to upload.

Coordinates changed for privacy:

Code: Select all

<?xml version='1.0' encoding='UTF-8' standalone='no' ?>                          
<gpx xmlns='http://www.topografix.com/GPX/1/1' creator='NavHelper' version='1.1'>
    <wpt lat='y.xxxxx' lon='y.xxxxx'>                                         
        <name>y.xxxxx,y.xxxxx</name>                                          
    </wpt>                                                                       
</gpx> 


In short:
- What3Words works.
- Would be nice to know why Google maps does not work. Let me know how I can help

Frank

Re: what3words & Garmin Drive App

Posted: Thu Mar 07, 2024 7:52 pm
by guiri
FrankB wrote: Thu Mar 07, 2024 7:07 pm Would be nice to know why Google maps does not work
Hi Frank, it's good to know the app works as intended with what3words, thanks for testing!

When a location is shared from Google Maps, it is sent as a url with a Google place ID. Garmin can decode this (they must pay for access to the Google geocoding API), whereas NavHelper is expecting the exact coordinates.

I've googled to find a way of getting coordinates from Google Maps, and failed miserably (see here).

If you want to go from Google Maps to the XT, it may be better to just risk the conversion in the Google API, and send the Maps location to either Garmin Drive, or Tread (where a pin gets dropped as a shared location).