﻿//建立圖示
var baseIcon = new GIcon();
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(18, 30);
baseIcon.shadowSize = new GSize(30, 24);
baseIcon.iconAnchor = new GPoint(9, 30);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);

statemark=new Array("S","B","L","G","S","S","S");

var map = null;
var geocoder = null;
var errorStr = '我們沒有這該區域這個縮放層級的圖片，請試著縮小圖片以檢視更大的區域。'
var latlng;

//初始化
function initialize(BuildStr)
{
    if (GBrowserIsCompatible())
    {
        var copyright = new GCopyright(1,new GLatLngBounds(new GLatLng(-90, -180),new GLatLng(90, 180)),0,'<a href=\'http://tw.988house.com\'>988house</a>');
        var copyrightCollection = new GCopyrightCollection('Map Source:');
        copyrightCollection.addCopyright(copyright);
        var h_tileLayers = [G_NORMAL_MAP.getTileLayers()[0], new GTileLayer(copyrightCollection, 0, 17)];
        var h_customMap = new GMapType(h_tileLayers,G_NORMAL_MAP.getProjection(),'地圖',{maxResolution:21, minResolution:7, errorMessage:errorStr});
        var s_tileLayers = [G_SATELLITE_MAP.getTileLayers()[0], new GTileLayer(copyrightCollection, 0, 17)];
        var s_customMap = new GMapType(s_tileLayers,G_NORMAL_MAP.getProjection(),'衛星',{maxResolution:21, minResolution:7, errorMessage:errorStr});
        var hs_tileLayers = [G_SATELLITE_MAP.getTileLayers()[0],G_HYBRID_MAP.getTileLayers()[1]];
        var hs_customMap = new GMapType(hs_tileLayers,G_NORMAL_MAP.getProjection(),'衛星地圖',{maxResolution:21, minResolution:7, errorMessage:errorStr});
        map = new GMap2(document.getElementById('auction_map'), { mapTypes: [h_customMap, s_customMap, hs_customMap] });
        map.addControl(new GMapTypeControl());
        map.addMapType(G_SATELLITE_3D_MAP);
        map.addControl(new GLargeMapControl3D());
        map.addControl(new GOverviewMapControl());
        geocoder = new GClientGeocoder();
    }
    GEvent.addListener(map, 'moveend', function()
    {
        LoadXml();
    });
    if (BuildStr!="")
    {
        geocoder.getLatLng(BuildStr,function(point)
        {
            if (!point)
            {
                alert("搜尋不到此地址 "+ BuildStr);
            } else {
                map.setCenter(point, 15);
            }
        });
    }
}

function QSubmit(BuildStr)
{
    if (geocoder)
    {
        if (BuildStr!="")
        {
            geocoder.getLatLng(BuildStr,function(point)
            {
                if (!point)
                {
                    alert("搜尋不到此地址 "+ BuildStr);
                } else {
                    map.setCenter(point, 15);
                }
            });
        }
        LoadXml();
    }
}

//讀取XML
function LoadXml()
{
    map.clearOverlays()
    var now = new Date();
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rangeXML = "BlogXML.ashx?Time=" + now + '&LngMax='+northEast.lng() + '&LngMin=' +southWest.lng() + '&LatMax=' + northEast.lat() + '&LatMin=' + southWest.lat()
    GDownloadUrl(rangeXML, function(data, responseCode)
    {
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName('marker');
        if (markers.length>1)
        {
            for (var i = 0; i < markers.length-1; i++)
            {
                switch(markers[i].getAttribute('class'))
                {
                    case "Auction":
                        map.addOverlay(CreateMarkerAuction(markers[i]));
	                    break;
                    case "Sell":
                        map.addOverlay(CreateMarkerSell(markers[i]));
	                    break;
                }
            }
        }
    });
}
//建立標示
function CreateMarker(markersxml)
{
    var icon = new GIcon(baseIcon);
    icon.image = "../IMG/MapMark/" + markersxml.getAttribute('case') + statemark[markersxml.getAttribute('state')] + markersxml.getAttribute('bid') + ".png";
    var point = new GLatLng(markersxml.getAttribute('lat'),markersxml.getAttribute('lng'));
    var WINDOW_HTML = markersxml.getAttribute('location') + '<br>' + markersxml.getAttribute('price') + '萬 / ' + markersxml.getAttribute('area') + '坪' ;
    var marker = new GMarker(point,icon);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(WINDOW_HTML);
    });
    return marker;
}
//建立法拍屋標示
function CreateMarkerAuction(markersxml)
{
    var icon = new GIcon(baseIcon);
    icon.image = "../IMG/MapMark/" + markersxml.getAttribute('case') + statemark[markersxml.getAttribute('state')] + markersxml.getAttribute('bid') + ".png";
    var point = new GLatLng(markersxml.getAttribute('lat'),markersxml.getAttribute('lng'));
    var WINDOW_HTML = markersxml.getAttribute('location') + "<br>" + markersxml.getAttribute('price') + "萬 / " + markersxml.getAttribute('area') + "坪<br><a target='_blank' href='AuctionShow.aspx?Court=" +markersxml.getAttribute('court') + "&ID=" + markersxml.getAttribute('id')+ "'>詳細內容...</a>";
    var marker = new GMarker(point,icon);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(WINDOW_HTML);
    });
    return marker;
}

//建立售屋標示
function CreateMarkerSell(markersxml)
{
    var icon = new GIcon(baseIcon);
    icon.image = "../IMG/MapMark/Sale.png";
    var point = new GLatLng(markersxml.getAttribute('lat'),markersxml.getAttribute('lng'));
    var WINDOW_HTML = '<table border=0><tr><td class=MapDataCatalog>案名：</td><td class=MapDataContents><a href=SellShow.aspx?ID=' +markersxml.getAttribute('id') + '>'+ markersxml.getAttribute('projectname') +'</a></td></tr><tr><td class=MapDataCatalog>坐落位置：</td><td class=MapDataContents><span>'+ markersxml.getAttribute('build')+'</span></td></tr><tr><td class=MapDataCatalog>價格/坪數：</td><td class=MapDataContents><span style=font-weight:bold;display:inline-block;color:Red;>'+ markersxml.getAttribute('price')/10000 +'萬</span> / <span>'+ markersxml.getAttribute('area') +'坪</span></td></tr><tr><td></td><td style=text-align: right;><a href=JavaScript:ShowSaleProject("'+markersxml.getAttribute('id')+'")>更多...</a></td></tr></table>';
    var marker = new GMarker(point,icon);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(WINDOW_HTML);
    });
    return marker;
}
