﻿// siteEditor google maps javascript
// 19 aug 2008 Martin (op basis van js van Bart)
// Standaard google maps api js

var map = null;
var mymarkers = new Array();
var mgr;
var activeMarker = -1;
var geocoder = null;

// Create a base icon for all of our markers that specifies the
// shadow, icon dimensions, etc.
var baseIcon = new GIcon();
baseIcon.shadow = "/controls/seGoogleMapsRes/images/markerSchaduwTrans.png";
baseIcon.image = "/controls/seGoogleMapsRes/images/markerDefault.png";
baseIcon.iconSize = new GSize(35, 29);
baseIcon.shadowSize = new GSize(35, 29);
baseIcon.iconAnchor = new GPoint(11, 29);
baseIcon.infoWindowAnchor = new GPoint(12, -2);
baseIcon.infoShadowAnchor = new GPoint(16, 33);

var baseIcon2 = new GIcon();
baseIcon2.shadow = "/controls/seGoogleMapsRes/images/markerSchaduwTrans.png";
baseIcon2.image = "/controls/seGoogleMapsRes/images/markerSelect.png";
baseIcon2.iconSize = new GSize(35, 29);
baseIcon2.shadowSize = new GSize(35, 29);
baseIcon2.iconAnchor = new GPoint(11, 29);
baseIcon2.infoWindowAnchor = new GPoint(12, -2);
baseIcon2.infoShadowAnchor = new GPoint(16, 33);




function GLoadwordtnietmeergebruiktweetje(active, seToonLocalSearch, seStartAdres, startCenter)
{     
    if (GBrowserIsCompatible())
    {
        geocoder = new GClientGeocoder();
        activeMarker = active;      
               
        map = new GMap2(document.getElementById("luchtfotoGoogleMaps"));       
        map.setCenter(new GLatLng(52.234528294213646, 5.361328125), 15);
       
        map.addMapType(G_PHYSICAL_MAP);
        map.setMapType(G_PHYSICAL_MAP);
        
        map.addControl(new GLargeMapControl()); 
        
        if (seToonLocalSearch == "true")
        {   
            map.addControl(new google.maps.LocalSearch(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10)));
        }
        map.enableContinuousZoom();
        map.enableScrollWheelZoom();
        
        mgr = new MarkerManager(map);
        
        // Minimaal zoomlevel instellen
        for (var i = 0; i < map.getMapTypes().length; i++)
        {
            map.getMapTypes()[i].getMinimumResolution = function() { return 9; }
            map.getMapTypes()[i].getMaximumResolution = function() { return 15; }
        }
        
        if (seStartAdres != "" && geocoder != null)
        {
            geocoder.getLatLng(seStartAdres, function(point) { afterShowAddress(point, 10); } );
        }
        
        // Markers plaatsen
        placeMarkers();
    }
}

function afterShowAddress(point, zoom)
{
    if (!point)
    {
        alert("De ingevoerde locatie werd niet gevonden.");
    }
    else
    {            
        map.setCenter(new GLatLng(point.lat(), point.lng()), zoom);
    }
}

function showAddress(a)
{ 
    if (a != "" && geocoder)
    {
        geocoder.getLatLng(a, function(point) { afterShowAddress(point, 12); } );
    }
}


/*
function getEarthInstanceCB(object)
{
    ge = object;
    
    // You can now manipulate ge using the full Google Earth API.
    
    if (ge != null)
    {
        // Controls rechts zetten
        var navControl = ge.getNavigationControl();
        var screenXY = navControl.getScreenXY();
        screenXY.setXUnits(ge.UNITS_INSET_PIXELS);
        screenXY.setYUnits(ge.UNITS_INSET_PIXELS);
    }
}
*/

function placeMarkers()
{  
    

    var toHighlight = -1;
    mymarkers = new Array();
    mgr.clearMarkers();
    
    for (var i = 0; i < glat.length; i++)
    {
        var point = new GLatLng(glat[i], glong[i]);
        var marker = new createMarker(point, label[i], id[i], false);
        
        mymarkers.push(marker);
    }
    
    mgr.addMarkers(mymarkers, 7);  
    mgr.refresh();
}

function seMarkerFunctie(marker)
{
    var latlng = marker.getLatLng();
    //label = marker.vNaam
    //ID = marker.vID
    map.openInfoWindow(latlng, marker.vNaam);
}


// Creates a marker whose info window displays
// the letter corresponding to the given index
function createMarker(point, label, ID, activeMarker)
{
    var myIcon;
    
    if (activeMarker) myIcon = new GIcon(baseIcon2);
    else myIcon = new GIcon(baseIcon);
    
    var marker = new GMarker(point, {icon: myIcon, draggable: false});
    marker.vNaam = label;
    marker.vID = ID;
    
    GEvent.addListener(marker, "click", function() { seMarkerFunctie(marker) });
    
    return marker;
}

/*
function googleView3D()
{
    if (map != null)
    {
        map.setMapType(G_SATELLITE_3D_MAP);
        document.getElementById('complexGoogleControls').style.visibility = 'hidden';
        document.getElementById('view3D').style.display = 'none';
        document.getElementById('viewNormal').style.display = 'block';
    }
}

function googleViewNormal()
{
    if (map != null)
    {
        map.setMapType(G_SATELLITE_MAP);
        document.getElementById('complexGoogleControls').style.visibility = 'visible';
        document.getElementById('view3D').style.display = 'block';
        document.getElementById('viewNormal').style.display = 'none';
    }
}
*/

/*
function googleLeft()
{
    map.panDirection(1, 0);
}

function googleRight()
{
    map.panDirection(-1, 0);
}

function googleUp()
{
    map.panDirection(0, 1);
}

function googleDown()
{
    map.panDirection(0, -1);
}

function googleZoomIn()
{
    map.zoomIn();
}

function googleZoomOut()
{
    map.zoomOut();
}

function googleSwap(obj, swapBack)
{
    if (swapBack == true)
        obj.src = obj.src.replace("H.gif", ".gif");
    else
        obj.src = obj.src.replace(".gif", "H.gif");
}
*/
