Mouse Move at: 0.0000 / 0.0000
JavaScript Demo Source: nokia-events.js
var map; function initialize() { var map_loaded = false; var eventStates = { "center": false, "zoom": false, "mapsize": false }; var bubbleContainer = new nokia.maps.map.component.InfoBubbles(); var coords = new nokia.maps.geo.Coordinate(52.530390, 13.385190); var position_disp = document.getElementById('position'); var event_disp = document.getElementById('events'); var counter = 0; position_disp.innerHTML = '0.0000 / 0.0000'; map = new nokia.maps.map.Display( document.getElementById("map"), { 'zoomLevel': 12, 'center': [52.530390, 13.385190], components: [ new nokia.maps.map.component.Behavior(), new nokia.maps.map.component.ZoomBar(), bubbleContainer ] }); map.addListener('mousemove', function(event){ var move_coords = map.pixelToGeo(event.targetX, event.targetY); position_disp.innerHTML = move_coords.latitude.toFixed(4) + ' / ' + move_coords.longitude.toFixed(4); position_disp.scrollTop = position_disp.scrollHeight - position_disp.clientHeight; }); map.addListener("click", function(event) { var click_coords = map.pixelToGeo(event.displayX, event.displayY); var marker; var text; var bubble; event_disp.innerHTML += "\n" + ++counter + ". Mouse Click at: " + click_coords.latitude.toFixed(4) + ' / ' + click_coords.longitude.toFixed(4); event_disp.scrollTop = event_disp.scrollHeight - event_disp.clientHeight; marker = new nokia.maps.map.StandardMarker(click_coords); map.objects.add(marker); text = "Lat: " + click_coords.latitude.toFixed(4) + " Lon: " + click_coords.longitude.toFixed(4) + "
"; bubble = bubbleContainer.addBubble(text, click_coords); }); map.addListener('mapviewchangestart', function(event){ if (event.data & event.MAPVIEWCHANGE_CENTER) { eventStates.center = true; } if (event.data & event.MAPVIEWCHANGE_ZOOM) { eventStates.zoom = true; } if (event.data & event.MAPVIEWCHANGE_SIZE) { eventStates.mapsize = true; } }); map.addListener('mapviewchangeupdate', function(event){ if (event.data & event.MAPVIEWCHANGE_CENTER) { eventStates.center = true; } if (event.data & event.MAPVIEWCHANGE_ZOOM) { eventStates.zoom = true; } if (event.data & event.MAPVIEWCHANGE_SIZE) { eventStates.mapsize = true; } }); map.addListener('mapviewchangeend', function(event){ // The Ovi Maps API doesn't (currently) support a "map loaded" event, but both a // "centre" and "size" mapviewchangestart/mapviewchangeupdate/mapviewchangeend // event sequence will be fired as part of the initial loading so we can trap // this ... if (!map_loaded) { if (eventStates.center && eventStates.mapsize) { map_loaded = true; eventStates.mapsize = false; event_disp.innerHTML += "\n" + ++counter + ". Map loaded"; event_disp.scrollTop = event_disp.scrollHeight - event_disp.clientHeight; } } if (eventStates.center) { eventStates.center = false; event_disp.innerHTML += "\n" + ++counter + ". Map panned"; event_disp.scrollTop = event_disp.scrollHeight - event_disp.clientHeight; } if (eventStates.zoom) { eventStates.zoom = false; event_disp.innerHTML += "\n" + ++counter + ". Zoom level changed"; event_disp.scrollTop = event_disp.scrollHeight - event_disp.clientHeight; } }); }