view map.js @ 166:21cf84dcae73 gmap2

Move code.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 10 Mar 2014 12:17:50 +0200
parents 074b6936ec4f
children fb98e644b80c
line wrap: on
line source

// $Id: map.js 2404 2009-12-24 20:01:32Z jeskko $

var pmap;
var pmapCanvas;
var proj;

function CanvasProjectionOverlay() {}
CanvasProjectionOverlay.prototype = new google.maps.OverlayView();
CanvasProjectionOverlay.prototype.constructor = CanvasProjectionOverlay;
CanvasProjectionOverlay.prototype.onAdd = function(){};
CanvasProjectionOverlay.prototype.draw = function(){};
CanvasProjectionOverlay.prototype.onRemove = function(){};


function pmapInitializeMap()
{
  var pmapBatMap = new google.maps.ImageMapType(
  {
    getTileUrl: function(coord, zoom)
    {
      return "tiles/"+ zoom +"/"+ coord.y +"/"+ coord.x +".png";
    },

    tileSize: new google.maps.Size(256, 256),
    maxZoom: 10,
    minZoom: 3,
    radius: 1738000,
    name: 'BatMap'
  });

  pmap = new google.maps.Map(document.getElementById("map"),
  {
    zoom: 3,
    center: new google.maps.LatLng(-15, 10),

    streetViewControl: false,
    draggableCursor: 'crosshair',
    draggingCursor: 'pointer',
    mapTypeControl: false,
    scaleControl: false,
    rotateControl: false,
    overviewMapControl: false,
  });

  pmap.mapTypes.set('BatMap', pmapBatMap);
  pmap.setMapTypeId('BatMap');

  pmapCanvas = new CanvasProjectionOverlay();
  pmapCanvas.setMap(pmap);

//  google.maps.event.addListener(pmap, "mousemove", pmapCoordinateListener);

  pmapInitializeIcons();
  pmapInitializeMarkers();
  pmapInitializeNav();
}


//
// Listener for updating coordinates display
//
function pmapCoordinateListener(point)
{
  var p = proj.fromLatLngToPixel(point, 7);
  var tx = Math.round((p.x - 16383) / 2);
  var ty = Math.round((p.y - 16383) / 2);

  var xx = tx;
  var yy = ty;
  var cont = "Deep Sea";
  
  for (i = 0; i < pmapContinents.length; i++)
  {
    var c = pmapContinents[i];
    if (c != null && tx > c[1] && tx < c[3] && ty > c[2] && ty < c[4])
    {
      cont = c[0];
      xx = tx - c[1];
      yy = ty - c[2];
      break;
    }
  }

  document.getElementById("xcoord").innerHTML = xx;
  document.getElementById("ycoord").innerHTML = yy;
  document.getElementById("continent").innerHTML = cont;
}