User Tools

Site Tools


agl-demonstrator:google_maps

Google Maps

Summary

A navigation application based on the Google Maps API. Features include trip planning, turn-by-turn directions as text and arrows, and live route updates on a map. The map can be zoomed and switched to satellite view, and can call up points of interest at user-selected locations.  (Note: current implementation simulates the API behavior.)

Navigation application allows user to use Google Maps to navigate around in predefined set of waypoints in Places library with Text-To-Speech feature. Navigation doesn't use GPS but updates position of marker along the route in periodic intervals. Default navigation waypoints are defined by:

  • start point: originAddress property
  • end point: destinationAddress property

To add additional places or update existing ones please change property [file:docs/apps/classes/NavigationGoogle.html places].

Resources

Watch Google Maps video.

Access the Design Requirements Document (DRD).

Access the Sources.

Download the Application WGT.

What the app does

The Google Maps Navigator is an HTML5 application that allows the user to plan a trip and get directions. HMTL is constructed on the fly and styled with CSS to present the application to the user in the Tizen environment.

By touching the PLACES button, a list of pre-saved destinations appears. The user can select the desired destination.

The map then shows a destination marker and the suggested route. The green marker is the origin of the trip. As the vehicle travels, a red marker advances along the route.

Above the map, the Up Next area shows turn-by-turn graphical and text directions.

On the right, as the vehicle travels, the display updates…

  • Remaining time,
  • Remaining distance,
  • Arrival time,
  • Miles per hour.

Points of Interest are shown by pressing and holding on any point on the map. A pop-up appears with information about the location, and may include a photo and links.

There are options for viewing the map which can be changed at any time.

To zoom, the user double taps the map or touches the plus and minus buttons.

To toggle from street view to satellite view, the user touches the map button.

Exit the application at any time by touching the return arrow.

Technical Details

The sections below are taken from directions for what is known as the Tizen IVI 3.0-M2-EOY (commonly called 'the Jan. 15 image'. The current Tizen release is dated 2014.01.14, and may require some adjustment.

Installation Prerequisites

The following installation directions take the base Tizen image and install needed supporting software

Instructions for debugging WRT Apps on Tizen IVI (installation, removal, and deployment)

Tizen IVI WRT applications are built into widget ('.wgt') files for deployment (a format based on the W3C widget specification, see http://www.w3.org/TR/widgets/ for more information). Once you have built or received the widget files for one or more applications that you wish to deploy and run, the next step is to copy them onto the target device. Common options for this would be tools like scp/sftp (in a Linux/Unix environment), FileZilla (Windows and Mac) or Cyberduck (Mac).

Once the .wgt files have been transferred to the target machine, they may be installed, launched and uninstalled.

To get a list of currently installed applications, use the following command from a terminal (or remote shell/ssh session) on the target hardware (log in as root with the password tizen):

root:~> wrt-launcher -l

This will produce output similar to the following:

No Name Version GUID Package ID App ID
1 saythis 1.0.0 http://yourdomain/sayThis lYjFlj49Q4 lYjFlj49Q4.saythis
2 Settings 1.0.0 http://yourdomain/Settings ODBQpKvkS1 ODBQpKvkS1.Settings
3 MediaPlayer 1.0.0 http://yourdomain/MediaPlayer t8j6HTRpuz t8j6HTRpuz.MediaPlayer
4 Store 8.2.4401 http://com.intel.tizen/store intelPoc13 intelPoc13.Store
5 Phone 8.2.4399 http://com.intel.tizen/phone intelPoc15 intelPoc15.phone

If the application you wish to install is not already installed, simply enter (using intelPoc16.HVAC.wgt as an example):

root:~> wrt-installer -i intelPoc16.HVAC.wgt

If successful, you should see output such as the following:

===========================================================
   # wrt-installer #
   # argc [3]
   # argv[0] = [wrt-installer]
   # argv[1] = [-i]
   # argv[2] = [intelPoc16.HVAC.wgt]
   ## wrt-installer : intelPoc16.HVAC installation was successful.
   ===========================================================

If unsuccessful, you may see errors such as 'invalid widget package', 'privilege level violation' or, if the application is already installed (and its widget file was built with a different signature than the one you wish to install), 'invalid signature'. The first two errors are out of scope for this document.

If you see 'invalid signature', and the widget file has to your knowledge been created with a valid signature, the likely cause is a conflict between the signature of the currently installed version and that of the new version. Though both signatures may be valid, the system treats the upgrade of an existing package with a different signature as a security violation. To work around this issue, simply uninstall the application and subsequently install the new version:

root:~> wrt-installer -un intelPoc16.HVAC      <-- note: use the App ID when unstalling and

the full widget filename when installing

If the uninstall is successful, you should see output like the following:

===========================================================
    # wrt-installer #
    # argc [3]
    # argv[0] = [wrt-installer]
    # argv[1] = [-un]
    # argv[2] = [intelPoc16.HVAC]
    ===========================================================
    ## wrt-installer : intelPoc16.HVAC uninstallation was successful.

Refer to installation instructions above for the subsequent installation steps.

In order to launch and run an installed application, issue the following command with the application's App ID as an argument:

root:~> wrt-launcher -s intelPoc16.HVAC

You should see the application start and run on the target device.

To launch the application in debug mode, add the '-d' flag:

root:~> wrt-launcher -d -s intelPoc16.HVAC

This will produce output like the following:

root:~/wgt> wrt-launcher -d -s intelPoc16.HVAC
   port: 36070
   result: launched

The port number referenced is a random high port which allows one to connect to the target device with a web browser using a URL of the form:

http://&lt;ip address or name of target device>:<port #>

For example:

http://192.168.1.223:36070

Once connected, you should see a single link in the upper right of the resulting web page, e.g.:

file:///opt/usr/apps/intelPoc16/res/wgt/index.html

Clicking that link will launch Webkit Web Inspector, a set of web development tools that should look familiar to users of Firefox Firebug or Chrome Dev Tools. Click the 'Console' icon in the toolbar to go to the Javascript console. Press ctrl-R, or type:

window.location.reload();

…to reload the application in order to display the startup/initialization functions associated with the app (since the app has already started by the time the debug interface is available).

To exit a running application, issue the following command with the application's App ID as an argument:

root:~> wrt-launcher -k intelPoc16.HVAC

Instruction to the console:

Assumptions these are all running from the Tizen platform and can access the console by SSH command or Control ALT F4 for a terminal. Tizen instructions are at Tizen.org

Install

wrt-installer -i intelPoc16.HVAC.wgt

Launch

wrt-installer -i intelPoc16.HVAC.wgt

Known Bugs

  • In Tizen 3 (Jan 15 release), during pointer animation it may artifact the graphic for the pointer, leaving a solid trail along the course.
  • In some occasional cases, Google Maps may take over the entire HTML environment, causing the top bar icons and the bottom panel to no longer be available and the Google Map environment to be the only thing available. To resolve this issue, the app must be killed and restarted.
  • Pop up location flickers in the default ‘zoom’ state (zoom setting 13 or so in the code) until such time as you zoom in or out to get the repaint to settle.
  • The Satellite and Street icons in the lower right of the Google map are switched in the way they reflect the map state. If you are looking at the satellite view, it should be the Street layer icon and if you are in the street layer view, it should show the satellite icon.

Release History

Features

  • Trip planning
  • Turn-by-turn directions as text and arrows
  • Live route updates on a map
  • Zoomed in and out
  • Switched to satellite view
  • Call up points of interest

Bug Fixes

This is an initial demo hard coded.

agl-demonstrator/google_maps.txt · Last modified: 2015/08/08 22:55 by wminer