HERE Maps API - Map UI components
m (Jasfox - Added see also) |
m (Jasfox - update to 2.2.4) |
||
| (16 intermediate revisions by 2 users not shown) | |||
| Line 2: | Line 2: | ||
{{Abstract|This article shows how to use a static Nokia map and add interactive UI controls to it.}} | {{Abstract|This article shows how to use a static Nokia map and add interactive UI controls to it.}} | ||
| − | {{Tip|The [http:// | + | {{Tip|The [http://developer.here.net/javascript_api Nokia Maps API for JavaScript] is generally used to display an interactive map on screen. i.e. a map which is pannable, zoomable or clickable for further information. If you don't need any UI components, a simpler solution for displaying a non-interactive '''static map''' would be to use the [http://developer.here.net/rest_api RESTful Map API] where the location of the map is encoded into the URL of the image. For example, the following URL will display a static map without using any JavaScript: |
<code javascript> | <code javascript> | ||
| − | <img id="gmapcanvas" src="http://m. | + | <img id="gmapcanvas" src="http://m.nok.it/?c=0,0&w=600&z=1&nord&nodot" |
alt="Hello World" /> | alt="Hello World" /> | ||
</code> | </code> | ||
| Line 12: | Line 12: | ||
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] --> | |sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] --> | ||
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| − | |devices= | + | |devices= Internet Explorer, Google Chrome, Firefox, Opera |
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | ||
| − | |platform= | + | |platform= Web |
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) --> | |devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) --> | ||
| − | |dependencies=Nokia Maps 2. | + | |dependencies=Nokia Maps 2.2.4 |
|signing=<!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer --> | |signing=<!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer --> | ||
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | |capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | ||
| − | |keywords= | + | |keywords= Nokia Maps, JavaScript, UI, components |
|id= <!-- Article Id (Knowledge base articles only) --> | |id= <!-- Article Id (Knowledge base articles only) --> | ||
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese --> | |language= <!-- Language category code for non-English topics - e.g. Lang-Chinese --> | ||
| Line 33: | Line 33: | ||
}} | }} | ||
{{SeeAlso| | {{SeeAlso| | ||
| − | * | + | * [http://developer.here.net/rest_api RESTful Map API] |
| − | * | + | * [http://developer.here.net/javascript_api Nokia Maps API] |
| + | * [http://developer.here.net/apiexplorer/examples/api-for-js/getting-started/basic-map-with-components.html Map with components] | ||
| + | * [http://developer.here.net/apiexplorer/examples/api-for-js/getting-started/basic-map.html Basic Map] | ||
}} | }} | ||
| Line 67: | Line 69: | ||
The code below would show us a map which has no presets defined, so it will default to the map origin 0,0 and zoom level minimum (0) with no possibility for the user to interact with the map: it does not respond to the user mouse click and all the UI components are removed (Zoom Bar, Scale Bar, Map Type Selector). | The code below would show us a map which has no presets defined, so it will default to the map origin 0,0 and zoom level minimum (0) with no possibility for the user to interact with the map: it does not respond to the user mouse click and all the UI components are removed (Zoom Bar, Scale Bar, Map Type Selector). | ||
| − | Note | + | {{Note| As from Nokia Maps API 2.2 The authorization token is now required }} |
<code javascript> | <code javascript> | ||
| − | <html> | + | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| − | <head> | + | <html xmlns="http://www.w3.org/1999/xhtml"> |
| − | <title>Static map</title> | + | <head> |
| − | <script type="text/javascript" src="http://api.maps.nokia.com/2. | + | <title>Static map</title> |
| − | </head> | + | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
| − | <body> | + | <script type="text/javascript" |
| − | + | src="http://api.maps.nokia.com/2.2.4/jsl.js" charset="utf-8"> | |
| − | + | </script> | |
| + | </head> | ||
| + | <body> | ||
| − | var map = new nokia.maps.map.Display(document.getElementById(" | + | <div id="mapContainer" style="z-index: -1; left:0px; top:0px; width: 100%; height: 80%; position: absolute;"></div> |
| + | <script type="text/javascript"> | ||
| + | ///////////////////////////////////////////////////////////////////////////////////// | ||
| + | // Don't forget to set your API credentials | ||
| + | // | ||
| + | // Replace with your appId and token which you can obtain when you | ||
| + | // register on http://api.developer.nokia.com/ | ||
| + | // | ||
| + | nokia.Settings.set( "appId", "YOUR APP ID GOES HERE"); | ||
| + | nokia.Settings.set( "authenticationToken", "YOUR AUTHENTICATION TOKEN GOES HERE"); | ||
| + | |||
| + | // | ||
| + | ///////////////////////////////////////////////////////////////////////////////////// | ||
| + | var map = new nokia.maps.map.Display(document.getElementById("mapContainer")); | ||
</script> | </script> | ||
</body> | </body> | ||
| Line 90: | Line 107: | ||
<code javascript> | <code javascript> | ||
| − | <html> | + | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| − | <head> | + | <html xmlns="http://www.w3.org/1999/xhtml"> |
| − | <title>Dynamic, interactive map</title> | + | <head> |
| − | <script type="text/javascript" src="http://api.maps.nokia.com/2. | + | <title>Dynamic, interactive map</title> |
| − | </head> | + | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
| − | <body> | + | <script type="text/javascript" |
| − | <div id=" | + | src="http://api.maps.nokia.com/2.2.4/jsl.js" charset="utf-8"> |
| − | <script type="text/javascript"> | + | </script> |
| − | nokia. | + | </head> |
| − | + | <body> | |
| − | var map = new nokia.maps.map.Display(document.getElementById(" | + | |
| − | components: [ | + | <div id="mapContainer" style="z-index: -1; left:0px; top:0px; width: 100%; height: 80%; position: absolute;"></div> |
| − | new nokia.maps.map.component.Behavior(), | + | <script type="text/javascript"> |
| − | new nokia.maps.map.component.ZoomBar(), | + | ///////////////////////////////////////////////////////////////////////////////////// |
| − | new nokia.maps.map.component.Overview(), | + | // Don't forget to set your API credentials |
| − | new nokia.maps.map.component.TypeSelector(), | + | // |
| − | new nokia.maps.map.component.ScaleBar() ], | + | // Replace with your appId and token which you can obtain when you |
| − | zoomLevel: 8, | + | // register on http://api.developer.nokia.com/ |
| − | center: [19.119, 72.8957] | + | // |
| + | nokia.Settings.set( "appId", "YOUR APP ID GOES HERE"); | ||
| + | nokia.Settings.set( "authenticationToken", "YOUR AUTHENTICATION TOKEN GOES HERE"); | ||
| + | |||
| + | // | ||
| + | ///////////////////////////////////////////////////////////////////////////////////// | ||
| + | var map = new nokia.maps.map.Display(document.getElementById("mapContainer"), { | ||
| + | components: [ | ||
| + | new nokia.maps.map.component.Behavior(), | ||
| + | new nokia.maps.map.component.ZoomBar(), | ||
| + | new nokia.maps.map.component.Overview(), | ||
| + | new nokia.maps.map.component.TypeSelector(), | ||
| + | new nokia.maps.map.component.ScaleBar() ], | ||
| + | zoomLevel: 8, | ||
| + | center: [19.119, 72.8957] | ||
}); | }); | ||
| + | |||
</script> | </script> | ||
</body> | </body> | ||
| Line 115: | Line 147: | ||
</code> | </code> | ||
| − | + | ==For more on the Nokia Maps API== | |
| − | + | ||
| − | ==For more on Nokia Maps API== | + | |
Please check out the Nokia Maps API full documentation and API reference here: | Please check out the Nokia Maps API full documentation and API reference here: | ||
| + | * [http://developer.here.net/javascript_api Nokia Maps API] | ||
| − | + | You may also access the interactive API explorer | |
| − | + | * [http://developer.here.net/javascript_api_explorer API explorer] | |
| − | You may also access the interactive | + | |
| − | + | ||
| − | * [http:// | + | |
==Tested on== | ==Tested on== | ||
| − | * Google Chrome | + | * Google Chrome 20.0x |
| − | * Mozilla Firefox | + | * Mozilla Firefox 13.0x |
Revision as of 14:32, 14 March 2013
This article shows how to use a static Nokia map and add interactive UI controls to it.
<img id="gmapcanvas" src="http://m.nok.it/?c=0,0&w=600&z=1&nord&nodot"
alt="Hello World" />
Contents |
Introduction
In this article we will make a static map interactive by adding some UI control components. By default, when the map is initiated without parameters or components, it will set the coordinates to 0,0 and zoom level to zero (0). We would be adding controls like zoom bar, scale bar and map type selector.
Prerequisites
Nokia Maps API supported device and browser (basically any modern browser)
Implementation
To make the map 'intelligent', to be able to zoom it and move within the map, we need to add some components to it.
ZoomBar This will add a slider UI component, which enables the user to increase or decrease the map zoom level. The four zoom level bookmark buttons that also will appear, allow for setting predefined zoom levels.
Overview Defines a panel showing an overview of the map of the currently visible viewport.
TypeSelector Provides a user interface to change the current base map type (Satellite, Terrain, Map)
ScaleBar Defines a panel providing a scalebar. The scalebar is a ruler displaying distance measurements at different zoom levels of the map. By default, the scalebar is collapsed showing only one ruler section. When expanded, the scalebar shows more ruler sections. The measurement type can be changed from metric to imperial, which will be reflected in the distance measurements.
Example Static non-interactive map example code
The code below would show us a map which has no presets defined, so it will default to the map origin 0,0 and zoom level minimum (0) with no possibility for the user to interact with the map: it does not respond to the user mouse click and all the UI components are removed (Zoom Bar, Scale Bar, Map Type Selector).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Static map</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript"
src="http://api.maps.nokia.com/2.2.4/jsl.js" charset="utf-8">
</script>
</head>
<body>
<div id="mapContainer" style="z-index: -1; left:0px; top:0px; width: 100%; height: 80%; position: absolute;"></div>
<script type="text/javascript">
/////////////////////////////////////////////////////////////////////////////////////
// Don't forget to set your API credentials
//
// Replace with your appId and token which you can obtain when you
// register on http://api.developer.nokia.com/
//
nokia.Settings.set( "appId", "YOUR APP ID GOES HERE");
nokia.Settings.set( "authenticationToken", "YOUR AUTHENTICATION TOKEN GOES HERE");
//
/////////////////////////////////////////////////////////////////////////////////////
var map = new nokia.maps.map.Display(document.getElementById("mapContainer"));
</script>
</body>
</html>
Example: Dynamic, interactive map with a predefined zoom level, map center point and map type
The example code contains HTML code and embedded JavaScript.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dynamic, interactive map</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript"
src="http://api.maps.nokia.com/2.2.4/jsl.js" charset="utf-8">
</script>
</head>
<body>
<div id="mapContainer" style="z-index: -1; left:0px; top:0px; width: 100%; height: 80%; position: absolute;"></div>
<script type="text/javascript">
/////////////////////////////////////////////////////////////////////////////////////
// Don't forget to set your API credentials
//
// Replace with your appId and token which you can obtain when you
// register on http://api.developer.nokia.com/
//
nokia.Settings.set( "appId", "YOUR APP ID GOES HERE");
nokia.Settings.set( "authenticationToken", "YOUR AUTHENTICATION TOKEN GOES HERE");
//
/////////////////////////////////////////////////////////////////////////////////////
var map = new nokia.maps.map.Display(document.getElementById("mapContainer"), {
components: [
new nokia.maps.map.component.Behavior(),
new nokia.maps.map.component.ZoomBar(),
new nokia.maps.map.component.Overview(),
new nokia.maps.map.component.TypeSelector(),
new nokia.maps.map.component.ScaleBar() ],
zoomLevel: 8,
center: [19.119, 72.8957]
});
</script>
</body>
</html>
For more on the Nokia Maps API
Please check out the Nokia Maps API full documentation and API reference here:
You may also access the interactive API explorer
Tested on
- Google Chrome 20.0x
- Mozilla Firefox 13.0x

