Waypoints, Routes, GPX files, Latitude & Longitude access through CIQ

I've searched the forum and am not finding solutions to what seems to be a pretty basic need for GPS based wearables and related apps.

How can an app get access to a Route made up of Waypoints, and read and use the names and Latitude / Longitude of the waypoints ?

It seems that PersistedContent does not provide an app with position information from waypoints, so that doesn't solve the problem.

I'm hoping that one or more of you can describe a complete end-to-end solution to taking GPX files that contain Waypoints and GPX files that contain a Route that are created using any of the tools available for a PC or on the web, and move that data to a watch in such a way that an app can read and use that data for navigation.

If there's a sample app that does this, along with a description of how the GPX files end up accessible to the watch app, that would be great.

I am working with a Vivoactive HR at this point and would like to find a solution that works for that watch. If that isn't possible for some reason, please describe which watches support this type of functionality (if any), and which versions of CIQ support this type of functionality (if any).

Thanks

Jeff

  • What you want to do isn't possible in CIQ.  You can't read GPX or fit files.  You can use makeWebRequest to pull down your own list of waypoints.

  • Thanks Jim.

    Are there any examples that you know of that show how this is done, or descriptions of how to accomplish this ?

    It looks like PersistedContent gets waypoints to the watch somehow but there seem to be a lot of missing pieces here.

    Again, this seems very basic to the functioning of a GPS watch and there seem to be apps that do navigation, so how does one go about pulling all of the pieces together without reinventing a whole lot of wheels ?

  • If you look at PersistedContent in the API doc, you can get you can get an intent and with that "exitTo" a native app that uses it.

    For a CIQ app to make use of something like a list of locations, you first need an external site to generate such a list, and then the CIQ app needs to be able to get this list by way of a makeWebRequest, probably in a json format.

    See dwMap as an example of something like this. In my Hike2 app, the app itself saves waypoints when it runs that can be used on a later hike, but I save them using my own scheme using Application.Storage

    While this is a basic function, in Garmin, it's only available to native apps.  For CIQ, it's something you have to work out yourself.

  • Thanks Jim.

    That's disheartening but thanks for the links and the information.

    Is Garmin trying to discourage developers from writing code for their devices ?

    The combination of blocking access to waypoints that their native apps have access to, and making it very difficult for developers to charge for their work, along with not providing a mechanism to uniquely identify each device all seems like there is a concerted effort to keep developers from succeeding, at least with apps that employ navigation. 

    Is there any information available about Garmin's intent with respect to developers ?

    Thanks again.

  • along with not providing a mechanism to uniquely identify each device

    See System.getDeviceSettings().uniqueIdentifier

    It is unique for both the device and app

  • Thanks very much Jim.

    I'll check that out.