| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 | // ================================================================//                            CHEditor 5// ----------------------------------------------------------------var oEditor = null,    centerLat = 0,    centerLng = 0,    latlng = 0,    setZoom = 14,    marker_lat = 0,    marker_lng = 0,    mapType = "roadmap",    map,    mapWidth = 512,    mapHeight = 320,    panorama,    panoramaVisible = false,    marker,    staticMapsAPI = 'STATIC_MAPS_API_KEY';function doSubmit() {    var mapImg = document.createElement("img"),        panoramaPitch, panoramaHeading, panoramaZoom, panoramaPosition;    if (marker_lat === 0) {        marker_lat = centerLat;    }    if (marker_lng === 0) {        marker_lng = centerLng;    }    mapImg.style.width = mapWidth + 'px';    mapImg.style.height = mapHeight + 'px';    mapImg.style.border = '1px #000 solid';    mapImg.setAttribute('alt', 'Google Map');    mapImg.onload = function () {        oEditor.insertHtmlPopup(mapImg);        oEditor.popupWinClose();    };    if (panoramaVisible) {        panoramaPitch = panorama.getPov().pitch;        panoramaHeading = panorama.getPov().heading;        panoramaZoom = panorama.getPov().zoom;        panoramaPosition = panorama.getPosition();        mapImg.src = "http://maps.googleapis.com/maps/api/streetview?" +            "location=" + panoramaPosition.lat() + ',' + panoramaPosition.lng() +            "&pitch=" + panoramaPitch +            "&heading=" + panoramaHeading +            "&size=" + mapWidth + 'x' + mapHeight +            "&zoom=" + panoramaZoom +            "&sensor=false" +            "®ion=KR" +            "&key=" + staticMapsAPI;    } else {        mapImg.src = "http://maps.google.com/maps/api/staticmap?" +            "center=" + centerLat + ',' + centerLng +            "&zoom=" + setZoom +            "&size=" + mapWidth + 'x' + mapHeight +            "&maptype=" + mapType +            "&markers=" + marker_lat + ',' + marker_lng +            "&sensor=false" +            "&language=ko" +            "®ion=KR" +            "&key=" + staticMapsAPI;    }}function searchAddress() {    var address = document.getElementById('fm_address').value,        geocoder = new google.maps.Geocoder();    geocoder.geocode({'address' : address},        function (results, status) {            if (status === google.maps.GeocoderStatus.OK) {                centerLat = results[0].geometry.location.lat();                centerLng = results[0].geometry.location.lng();                latlng = new google.maps.LatLng(centerLat, centerLng);                map.setCenter(latlng);                map.setZoom(setZoom);                marker = new google.maps.Marker({ 'map': map, 'draggable': true, 'position': latlng,                    animation: google.maps.Animation.DROP});                marker.setMap(map);            }        });}function initMap(zoom) {    var mapOptions = {        zoom: zoom || setZoom,        panControl: true,        zoomControl: true,        scaleControl: true,        center: new google.maps.LatLng(37.566, 126.977),        disableDefaultUI: false,        streetViewControl: true,        mapTypeId: google.maps.MapTypeId.ROADMAP    };    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);    centerLat = map.getCenter().lat();    centerLng = map.getCenter().lng();    google.maps.event.addListener(map, 'dragend', function () {        centerLat = map.getCenter().lat();        centerLng = map.getCenter().lng();    });    google.maps.event.addListener(map, 'maptypeid_changed', function () {        mapType = map.getMapTypeId();    });    google.maps.event.addListener(map, 'zoom_changed', function () {        centerLat = map.getCenter().lat();        centerLng = map.getCenter().lng();    });    panorama = map.getStreetView();    google.maps.event.addListener(panorama, 'visible_changed', function () {        panoramaVisible = panorama.getVisible();    });}function popupClose() {    oEditor.popupWinCancel();}function init(dialog) {    oEditor = this;    oEditor.dialog = dialog;    var dlg = new Dialog(oEditor),        button = [            { alt : "", img : 'submit.gif', cmd : doSubmit },            { alt : "", img : 'cancel.gif', cmd : popupClose }        ],        buttonUrl = oEditor.config.iconPath + 'button/map_address.gif',        search = new Image();    dlg.showButton(button);    search.src = buttonUrl;    search.onclick = function () {        searchAddress();    };    search.className = 'button';    document.getElementById('map_search').appendChild(search);    dlg.setDialogHeight();}
 |