﻿function abreMapa(lattd, longtd) {
    window.open("localizacao_mapa.aspx?lt="+lattd+"&ld="+longtd,"mapa","location=0,status=0,resizable=0,scrollbars=0,width=650,height=350");
}

function initialize(lattd, longt) {
    if (GBrowserIsCompatible()) {
        function createMarker(point,html) {
            var marker = new GMarker(point);
            GEvent.addListener(marker, "click", function() {
                marker.openInfoWindowHtml(html);
            });
            return marker;
        }

        // define the crosshair tile layer and its required functions
        var crossLayer = new GTileLayer(new GCopyrightCollection(""), 0, 15);
        crossLayer.getTileUrl =  function(tile, zoom) { return "./_images/tile_crosshairs.png"; }
        crossLayer.isPng = function() { return true; }

        // Create a new map type incorporating the tile layer
        var layerTerCross = [ G_PHYSICAL_MAP.getTileLayers()[0], crossLayer ];
        var mtTerCross = new GMapType(layerTerCross, G_PHYSICAL_MAP.getProjection(), "Ter+");

        var map = new GMap2(document.getElementById("map_canvas"), { size: new GSize(650,300) } );
        map.addMapType(G_PHYSICAL_MAP);
        map.addMapType(mtTerCross);
        map.setCenter(new GLatLng(lattd, longt), 16);
        map.addControl(new GLargeMapControl());

        // create markers
        GDownloadUrl("localizacao.xml", function(data, responseCode) {
            var xml = GXml.parse(data);
            var markers = xml.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
                var texto = markers[i].firstChild.nodeValue;
                var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("lng")));
                var marker = createMarker(point,'<div style="width:240px">'+texto+'</div>');
                map.addOverlay(marker);
            }
        });
        
        // map controls
        var mapControl = new GHierarchicalMapTypeControl();
        
        // Set up map type menu relationships
        mapControl.clearRelationships();
        mapControl.addRelationship(G_SATELLITE_MAP, G_HYBRID_MAP, "Nomes", false);
        mapControl.addRelationship(G_PHYSICAL_MAP, mtTerCross, "Crosshairs");
        map.addControl(mapControl);
    }
}