HERE Maps API - How to pan the map
hamishwillee
(Talk | contribs) m (Hamishwillee - Add Ovi Maps category) |
m (Jasfox -) |
||
| (23 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
| − | [[Category: | + | [[Category:Nokia Maps]][[Category:Code Snippet]][[Category:JavaScript]][[Category:Nokia Maps]] |
| − | {{Abstract|This article explains how to use the panning method on the map. }} | + | {{Abstract|This article explains how to use the panning method on the map. }} Feel free to modify and utilize whole or partial for your own purposes! |
| − | == | + | {{ArticleMetaData |
| − | + | |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]]) --> | |
| + | |devices= Internet Explorer, Firefox, Google Chrome, Opera | ||
| + | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | ||
| + | |platform= Web browser | ||
| + | |devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) --> | ||
| + | |dependencies=Nokia Maps 2.2.3 | ||
| + | |signing=<!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | ||
| + | |keywords= Nokia Maps, JavaScript, Panning | ||
| + | |id= <!-- Article Id (Knowledge base articles only) --> | ||
| + | |language= <!-- Language category code for non-English topics - e.g. Lang-Chinese --> | ||
| + | |translated-by= <!-- [[User:XXXX]] --> | ||
| + | |translated-from-title= <!-- Title only --> | ||
| + | |translated-from-id= <!-- Id of translated revision --> | ||
| + | |review-by=<!-- After re-review: [[User:username]] --> | ||
| + | |review-timestamp= <!-- After re-review: YYYYMMDD --> | ||
| + | |update-by=[[User:avnee.nathani]] | ||
| + | |update-timestamp=20111231 | ||
| + | |creationdate=20110627 | ||
| + | |author=[[User:Maveric]] | ||
| + | }} | ||
| + | {{SeeAlso| | ||
| + | * [http://developer.here.net/javascript_api Nokia Maps API] | ||
| + | * [http://developer.here.net/apiexplorer/examples/api-for-js/map/panning-the-map.html Panning the Map] | ||
| + | }} | ||
== Prerequistites == | == Prerequistites == | ||
| − | + | Nokia Maps API supported web browser (basically any modern browser should do). | |
| − | + | ||
== Example code == | == Example code == | ||
This example will start panning the map to the right, then after a moment changes direction to the left and continues forever(?) ;) | This example will start panning the map to the right, then after a moment changes direction to the left and continues forever(?) ;) | ||
| + | Unless you stop it by pressing the button and clearing the timer and interval settings. Remember to add in your own [[How to Obtain Your Own Nokia appID and Token| AppId and Token]] to get it to work. | ||
| − | + | <code 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"> |
| − | <script type="text/javascript"> | + | <head> |
| − | + | <title>Panning the map</title> | |
| + | <meta http-equiv="X-UA-Compatible" content="IE=7; IE=EmulateIE9"/> | ||
| + | <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> | ||
| + | <script type="text/javascript" | ||
| + | src="http://api.maps.nokia.com/2.2.3/jsl.js" charset="utf-8"> | ||
| + | </script> | ||
| + | </head> | ||
| + | <body onload="all_is_ready()"> | ||
| + | |||
| + | <div id="mapContainer" style="z-index: -1; left:0px; top:0px; width: 100%; height: 80%; position: absolute;"></div> | ||
| + | <div id="showCoords" style="height: 2.0em; font-size: 2em; color: blue;"></div> | ||
| + | <input type="button" value="STOP panning" name="button6" onclick="stopPanning()" /> | ||
| + | <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"); | ||
| + | |||
| + | // | ||
| + | ///////////////////////////////////////////////////////////////////////////////////// | ||
| + | |||
//Globals | //Globals | ||
| − | + | ||
var myInterval = 0; | var myInterval = 0; | ||
| − | |||
var myTimer; | var myTimer; | ||
| − | |||
| − | |||
var map_start_x = 100; | var map_start_x = 100; | ||
var map_start_y = 100; | var map_start_y = 100; | ||
var map_end_x = 120; | var map_end_x = 120; | ||
var map_end_y = 100; | var map_end_y = 100; | ||
| − | |||
var myMap; | var myMap; | ||
| − | + | ||
| − | if (document.addEventListener) | + | //if (document.addEventListener) |
| − | + | // document.addEventListener("DOMContentLoaded", all_is_ready, false); | |
| − | + | ||
| − | + | ||
function all_is_ready(){ | function all_is_ready(){ | ||
alert("Click OK to start the panning."); | alert("Click OK to start the panning."); | ||
| − | myMap = new | + | myMap = new nokia.maps.map.Display(document.getElementById("mapContainer"), |
{ | { | ||
| − | components: [ new | + | components: [ new nokia.maps.map.component.Behavior(), |
| − | new | + | new nokia.maps.map.component.ZoomBar(), |
| − | new | + | new nokia.maps.map.component.Overview(), |
| − | new | + | new nokia.maps.map.component.TypeSelector(), |
| − | new | + | new nokia.maps.map.component.ScaleBar() ], |
zoomLevel: 3, | zoomLevel: 3, | ||
| − | center: [ | + | center: [19.119, 72.8957] |
}); | }); | ||
| − | + | ||
timerLauncher(); | timerLauncher(); | ||
| Line 62: | Line 106: | ||
myInterval = setInterval ("panTheMap()", 1000); | myInterval = setInterval ("panTheMap()", 1000); | ||
} | } | ||
| − | + | ||
function panTheMap() | function panTheMap() | ||
{ | { | ||
| Line 69: | Line 113: | ||
map_end_x = map_end_x - 1; | map_end_x = map_end_x - 1; | ||
map_end_y = map_end_y + 1; | map_end_y = map_end_y + 1; | ||
| − | + | ||
document.getElementById("showCoords").innerHTML = "("+map_start_x+","+map_start_y+","+map_end_x+","+map_end_y+")"; | document.getElementById("showCoords").innerHTML = "("+map_start_x+","+map_start_y+","+map_end_x+","+map_end_y+")"; | ||
| − | + | ||
myMap.pan(map_start_x, map_start_y, map_end_x, map_end_y); | myMap.pan(map_start_x, map_start_y, map_end_x, map_end_y); | ||
| − | + | ||
myTimer = setTimeout ('document.getElementById("showCoords").innerHTML = ""', 500); | myTimer = setTimeout ('document.getElementById("showCoords").innerHTML = ""', 500); | ||
} | } | ||
| − | + | ||
function stopPanning() | function stopPanning() | ||
{ | { | ||
| Line 82: | Line 126: | ||
clearInterval(myInterval); | clearInterval(myInterval); | ||
alert("Timer and interval cleared. Example finished. Reload page to run again."); | alert("Timer and interval cleared. Example finished. Reload page to run again."); | ||
| − | + | ||
| − | } | + | } |
</script> | </script> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
</body> | </body> | ||
</html> | </html> | ||
| − | </code> | + | </code> |
| + | |||
| + | == Screenshot== | ||
| + | [[File:NokiaMapsPanning.png|600px]] | ||
| + | |||
| + | ==For more on the Nokia Maps API== | ||
| + | |||
| + | 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] | ||
== Summary == | == Summary == | ||
Using the map panning feature you could create e.g. a game, where the map is moving and the user should e.g. find something on the map and click it before the area vanishes from sight, just an idea ;) develop your own =)? Side scrolling game...? =) | Using the map panning feature you could create e.g. a game, where the map is moving and the user should e.g. find something on the map and click it before the area vanishes from sight, just an idea ;) develop your own =)? Side scrolling game...? =) | ||
Revision as of 14:43, 4 January 2013
This article explains how to use the panning method on the map. Feel free to modify and utilize whole or partial for your own purposes!
Article Metadata
Tested with
Compatibility
Article
See Also
Contents |
Prerequistites
Nokia Maps API supported web browser (basically any modern browser should do).
Example code
This example will start panning the map to the right, then after a moment changes direction to the left and continues forever(?) ;) Unless you stop it by pressing the button and clearing the timer and interval settings. Remember to add in your own AppId and Token to get it to work.
<!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>Panning the map</title>
<meta http-equiv="X-UA-Compatible" content="IE=7; IE=EmulateIE9"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript"
src="http://api.maps.nokia.com/2.2.3/jsl.js" charset="utf-8">
</script>
</head>
<body onload="all_is_ready()">
<div id="mapContainer" style="z-index: -1; left:0px; top:0px; width: 100%; height: 80%; position: absolute;"></div>
<div id="showCoords" style="height: 2.0em; font-size: 2em; color: blue;"></div>
<input type="button" value="STOP panning" name="button6" onclick="stopPanning()" />
<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");
//
/////////////////////////////////////////////////////////////////////////////////////
//Globals
var myInterval = 0;
var myTimer;
var map_start_x = 100;
var map_start_y = 100;
var map_end_x = 120;
var map_end_y = 100;
var myMap;
//if (document.addEventListener)
// document.addEventListener("DOMContentLoaded", all_is_ready, false);
function all_is_ready(){
alert("Click OK to start the panning.");
myMap = 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: 3,
center: [19.119, 72.8957]
});
timerLauncher();
}
function timerLauncher()
{
// Start the timer
myInterval = setInterval ("panTheMap()", 1000);
}
function panTheMap()
{
map_start_x = map_start_x + 1;
map_start_y = map_start_y + 1;
map_end_x = map_end_x - 1;
map_end_y = map_end_y + 1;
document.getElementById("showCoords").innerHTML = "("+map_start_x+","+map_start_y+","+map_end_x+","+map_end_y+")";
myMap.pan(map_start_x, map_start_y, map_end_x, map_end_y);
myTimer = setTimeout ('document.getElementById("showCoords").innerHTML = ""', 500);
}
function stopPanning()
{
clearTimeout(myTimer);
clearInterval(myInterval);
alert("Timer and interval cleared. Example finished. Reload page to run again.");
}
</script>
</body>
</html>
Screenshot
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
Summary
Using the map panning feature you could create e.g. a game, where the map is moving and the user should e.g. find something on the map and click it before the area vanishes from sight, just an idea ;) develop your own =)? Side scrolling game...? =)

