﻿/**
 * @author jackieyaun
 */
var geo = new GClientGeocoder();
/**
 * 初始化坐标位置
 */
function initialize(loadId, width, height, isClick,area){
    if (GBrowserIsCompatible()) {
        var options = {
            size: GSize(width, height),
            backgroundColor: "red"
        };
        var map = new GMap2(document.getElementById(loadId), options);
        map.addControl(new GSmallMapControl());
        map.addControl(new GOverviewMapControl());
        map.addControl(new GMapTypeControl());
        if(area==""||area==undefined)
            area="北京";
        geo.getLatLng(area, function(point){
            map.setCenter(point, 13);
        });
        if (isClick) {
			stampPoint(map);
		}
    }
}

//普通地图
function commonMap(entity, loadId){
    if (GBrowserIsCompatible()) {
        var point;
        var map = new GMap2(document.getElementById(loadId));
        
        map.enableDoubleClickZoom();
        map.enableScrollWheelZoom();
        var address = '<div style="width:250px;height:120px;font-size:12px">' + '<div style="font-size:15px;color:green">' + entity.Company + '</div><div>城市：' + entity.Province + entity.City + '</div><div>' + entity.CompanyAddress + '</div><div>电话: ' + entity.CompanyPhone + '</div></div>';
        point = new GLatLng(entity.pointX, entity.pointY);
        
        var marker = new GMarker(point);
        map.setCenter(point, 17);
        map.addOverlay(marker);
        GEvent.addListener(marker, "click", function(){
            marker.openInfoWindowHtml(address, {
                maxContent: address
            });
        });
    }
}

function shopInfo(loadId, pointX, pointY, uid){
    $.getJSON("/GomyeMap/CommonMap.aspx", {
        "pointX": "" + pointX + "",
        "pointY": "" + pointY + "",
        "uid": "" + uid + ""
    }, function(data){
        commonMap(data, loadId);
    });
}

function stampPoint(map){
    BuildContextMenu(map);
}

//创建右键菜单
function BuildContextMenu(map){
    contextmenu = document.createElement("div");
    $(contextmenu).css({
        display: "none",
        background: "#ffffff",
        border: "1px solid #8888FF"
    });
    $(contextmenu).html("<a href='javascript:fill()'><div style=' text-decoration:none; font-size:12px; color:Black'>填充坐标</div></a>");
    map.getContainer().appendChild(contextmenu);
    GEvent.addListener(map, "singlerightclick", function(pixel, tile){
        latlng = toLatLng(map, pixel);
        var x = pixel.x;
        var y = pixel.y;
        if (x > map.getSize().width - 120) {
            x = map.getSize().width - 120
        }
        if (y > map.getSize().height - 100) {
            y = map.getSize().height - 100
        }
        var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(x, y));
        pos.apply(contextmenu);
        blockContxtMenu();
    });
}

//转换当前坐标
function toLatLng(map, pixel){
    var point = map.fromContainerPixelToLatLng(pixel);
    var params = {
        lat: point.lat(),
        lng: point.lng()
    };
    return params;
}

function blockContxtMenu(){
    $(contextmenu).show();
    $(document).one("click", hideContextMenu);
}

function hideContextMenu(){
    $(contextmenu).hide();
}

function fill(){
    $("#Shoplatitude").attr("value", latlng.lat);
    $("#Shoplongitude").attr("value", latlng.lng);
    $("#cm").hide();
    $("#dis").css({
        color: "green"
    }).html("商铺位置选取成功");
}
