Get started - HERE developer portal

This section outlines how to get started quickly using the HERE Maps API for JavaScript on the HERE developer portal.

  1. Get a HERE Account
  2. Register your App
  3. Get an API Key
  4. Creating a Sample Application

Note

This section provides information on the minimum setup required to begin quickly using the HERE Maps API for JavaScript. For more detailed information on HERE account setup, app registration, and authentication, see the Identity & Access Management Developer Guide.

Get a HERE Account

If you are an individual developer who has signed up for one of the plans listed on our Developer plans page on developer.here.com., you received a HERE account ID when you signed up. You can use your HERE account to log in to developer.here.com. to create applications. Applications (uniquely identified by an app ID) enable development with HERE products and services.

Register your App

To register your app, follow these steps:

  1. Sign in to developer.here.com..
  2. Click your name, select Projects, and then choose your project from the list. Your project details and available application credentials are then displayed.
  3. Select JavaScript or REST and click Generate App. When your application is created, its app ID is displayed.

Get an API key

To get an API key, follow these steps:

  1. Sign in to developer.here.com..
  2. Click your name, select Projects, and then choose your project from the list. Your project details and available application credentials are then displayed.
  3. Click Create API key to generate a maximum of two API keys for your application. The API key is created and displayed.

Creating a Sample Application

The use case is to create an application that displays a default map, which is non-interactive.

Its implementation uses JavaScript code to display the map in an HTML page and consists of the following steps:

The first step for any application based on the HERE Maps API for JavaScript is to load the necessary code libraries or modules. The implementation of our basic use case requires two modules: core and service (see also HERE Maps API for JavaScript Modules).

To load the modules, add the following <script> elements to the <head> of the HTML document:

<script src="https://js.api.here.com/v3/3.1/mapsjs-core.js"
  type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.1/mapsjs-service.js"
  type="text/javascript" charset="utf-8"></script>

The URL in the "src" attribute contains a version number that reflects the latest major release of the API. Note that this version number changes with each new release, which may break backwards-compatibility – for more information, see API versions.

Alternatively the API can be loaded as an EcmaScript 6 module:

<script type="module" src="https://js.api.here.com/v3/3.1/mapsjs.bundle.js"></script>

The above mentioned bundle contains all major parts of the API:

  • core
  • core-legacy
  • service
  • service-legacy
  • mapevents
  • ui
  • clustering
  • data

To ensure optimum performance on mobile devices, add the following meta-tag to the <head> section of the HTML page:

<meta name="viewport" content="initial-scale=1.0, width=device-width" />

Here is the complete <head> element that loads the core and service modules and ensures optimum performance on mobile devices.

<!DOCTYPE html>
  <html>
    <head>
      ...
      <meta name="viewport" content="initial-scale=1.0,
        width=device-width" />
      <script src="https://js.api.here.com/v3/3.1/mapsjs-core.js"
        type="text/javascript" charset="utf-8"></script>
      <script src="https://js.api.here.com/v3/3.1/mapsjs-service.js"
        type="text/javascript" charset="utf-8"></script>
      ...
    </head>
    <body>
      <div style="width: 640px; height: 480px" id="mapContainer"></div>

An essential part of creating a working application with the HERE Maps API for JavaScript is to establish communication with the back-end services provided by HERE REST APIs. In our scenario, the back-end services process requests for the map data and delivers it to the application for display.

For this purpose, initialize a Platform object with the apikey you received on registration:

var platform = new H.service.Platform({
  'apikey': '{YOUR_API_KEY}'
});

Furthermore, the object provides methods that allow for easy creation of fully working service stubs, such as map tile service stubs, routing service stubs, and so on.

Continuing with this scenario, the application will display a non-interactive map centered on a predefined location at a fixed zoom level. To implement this effect:

  1. Create an HTML container element in which the map can be rendered (for example, a div).
  2. Instantiate an H.Map object, specifying:
    • the map container element
    • the map type to use
    • the zoom level at which to display the map
    • the geographic coordinates of the point on which to center the map

The implemenation JavaScript code shown below sets up a Map object, specifying the normal map type, zoom level 10, and the map center as a location near Berlin, Germany, given by latitude 52.5 and longitude 13.4:

// Obtain the default map types from the platform object:
var defaultLayers = platform.createDefaultLayers();

// Instantiate (and display) a map object:
var map = new H.Map(
    document.getElementById('mapContainer'),
    defaultLayers.vector.normal.map,
    {
      zoom: 10,
      center: { lat: 52.5, lng: 13.4 }
    });

The implementation displays the following map image:

A basic non-interactive map
Figure 1. A basic non-interactive map

The following section shows the solution including the complete HTML code of the page.

Complete HTML Example Page

Below, you can find the complete source code that implements the basic scenario:

<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, width=device-width" />
    <script src="https://js.api.here.com/v3/3.1/mapsjs-core.js"
    type="text/javascript" charset="utf-8"></script>
    <script src="https://js.api.here.com/v3/3.1/mapsjs-service.js"
    type="text/javascript" charset="utf-8"></script>
  </head>
  <body>
    <div style="width: 640px; height: 480px" id="mapContainer"></div>
    <script>
      // Initialize the platform object:
      var platform = new H.service.Platform({
        'apikey': '{YOUR_API_KEY}'
      });

      // Obtain the default map types from the platform object
      var maptypes = platform.createDefaultLayers();

      // Instantiate (and display) a map object:
      var map = new H.Map(
        document.getElementById('mapContainer'),
        maptypes.vector.normal.map,
        {
          zoom: 10,
          center: { lng: 13.4, lat: 52.51 }
        });
    </script>
  </body>
</html>

To see how to best configure the HERE Maps API for JavaScript to work best with Japan data, see Japan. To see how to bundle the HERE Maps API for JavaScript with the most common bundlers, see Bundling.

results matching ""

    No results matching ""