×
Namespaces

Variants
Actions
(Difference between revisions)

HERE Maps API - How to pan the map

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Add Ovi Maps category)
jasfox (Talk | contribs)
m (Jasfox -)
(23 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Web]][[Category:Browser]][[Category:Web]][[Category:Ovi Maps]]
+
[[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!
  
== Introduction ==
+
{{ArticleMetaData
 
+
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
This article contains an example that you can use to study how the Ovi Maps API handles panning of the map. Feel free to modify and utilize whole or partial for your own purposes!
+
|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 ==
  
Ovi Maps API supported web browser (basically any modern browser should do).
+
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.
  
Unless you stop it by pressing the button and clearing the timer and interval settings.
+
<code javascript>
 
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<code java>
+
<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);
+
// 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 ovi.mapsapi.map.Display(document.getElementById("map"),
+
  myMap = new nokia.maps.map.Display(document.getElementById("mapContainer"),
 
     {
 
     {
                   components: [ new ovi.mapsapi.map.component.Behavior(),
+
                   components: [ new nokia.maps.map.component.Behavior(),
                             new ovi.mapsapi.map.component.ZoomBar(),
+
                             new nokia.maps.map.component.ZoomBar(),
                             new ovi.mapsapi.map.component.Overview(),                             
+
                             new nokia.maps.map.component.Overview(),                             
                             new ovi.mapsapi.map.component.TypeSelector(),     
+
                             new nokia.maps.map.component.TypeSelector(),     
                             new ovi.mapsapi.map.component.ScaleBar() ],
+
                             new nokia.maps.map.component.ScaleBar() ],
 
                   zoomLevel: 3,
 
                   zoomLevel: 3,
                   center: [52.51, 13.4]   
+
                   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>
<html>
 
<head>
 
<script src="http://api.maps.ovi.com/jsl.js" type="text/javascript" charset="utf-8"></script>
 
</head>
 
<body>
 
<center>
 
<div id="map" style="width:80%; height:80%;"></div>
 
<div id="showCoords" style="height: 2.0em; font-size: 2em; color: blue;"></div>
 
<FORM>
 
<INPUT type="button" value="STOP panning" name="button6" onClick="stopPanning()">
 
</FORM>
 
</center>
 
 
</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
Devices(s): Internet Explorer, Firefox, Google Chrome, Opera
Compatibility
Platform(s): Web browser
Dependencies: Nokia Maps 2.2.3
Article
Keywords: Nokia Maps, JavaScript, Panning
Created: Maveric (27 Jun 2011)
Updated: avnee.nathani (31 Dec 2011)
Last edited: jasfox (04 Jan 2013)

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

NokiaMapsPanning.png

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...? =)

200 page views in the last 30 days.