비표준 그누보드4 첫커밋
This commit is contained in:
108
cheditor5/popup/js/google_map.js
Normal file
108
cheditor5/popup/js/google_map.js
Normal file
@ -0,0 +1,108 @@
|
||||
// ================================================================
|
||||
// CHEditor 5
|
||||
// ----------------------------------------------------------------
|
||||
// Homepage: http://www.chcode.com
|
||||
// Copyright (c) 1997-2011 CHSOFT
|
||||
// ================================================================
|
||||
var button = [
|
||||
{ alt : "", img : 'submit.gif', cmd : doSubmit },
|
||||
{ alt : "", img : 'cancel.gif', cmd : popupClose }
|
||||
];
|
||||
|
||||
var oEditor = null;
|
||||
var googleMapKey = null;
|
||||
var center_lat = 0;
|
||||
var center_lng = 0;
|
||||
var setZoom = 4;
|
||||
var marker_lat = 0;
|
||||
var marker_lng = 0;
|
||||
var currentName = { '지도' : 'map',
|
||||
'중첩' : 'hybrid',
|
||||
'위성' : 'satellite',
|
||||
'지형' : 'satellite' };
|
||||
var mapType;
|
||||
|
||||
function init(dialog) {
|
||||
oEditor = this;
|
||||
oEditor.dialog = dialog;
|
||||
googleMapKey = oEditor.googleMapKey;
|
||||
|
||||
var dlg = new Dialog(oEditor);
|
||||
dlg.showButton(button);
|
||||
|
||||
var buttonUrl = oEditor.config.iconPath + 'button/map_address.gif';
|
||||
var search = new Image();
|
||||
search.src = buttonUrl;
|
||||
search.onclick = function() { initMap(14); };
|
||||
search.className = 'button';
|
||||
document.getElementById('map_search').appendChild(search);
|
||||
dlg.setDialogHeight();
|
||||
|
||||
}
|
||||
|
||||
function doSubmit() {
|
||||
var map = new Image();
|
||||
if (marker_lat == 0) marker_lat = center_lat;
|
||||
if (marker_lng == 0) marker_lng = center_lng;
|
||||
|
||||
var mapWidth = 512;
|
||||
var mapHeight = 320;
|
||||
|
||||
map.setAttribute('width', mapWidth);
|
||||
map.setAttribute('height',mapHeight);
|
||||
map.style.border = '1px #000 solid';
|
||||
|
||||
map.src = "http://maps.google.com/maps/api/staticmap?center=" + center_lat + ',' + center_lng +
|
||||
"&zoom=" + setZoom +
|
||||
"&size=" + mapWidth + 'x' + mapHeight +
|
||||
"&maptype=" + currentName[mapType] +
|
||||
"&markers=" + marker_lat + ',' + marker_lng +
|
||||
"&sensor=false";
|
||||
oEditor.insertHtmlPopup(map);
|
||||
oEditor.insertHtmlPopup(document.createElement('br'));
|
||||
oEditor.setImageEvent(true);
|
||||
popupClose();
|
||||
}
|
||||
|
||||
function initMap(zoom) {
|
||||
zoom = zoom ? zoom : 14;
|
||||
var address = document.getElementById('fm_address').value;
|
||||
var map = new GMap2(document.getElementById("map_canvas"));
|
||||
var geocoder = new GClientGeocoder();
|
||||
geocoder.getLatLng(address,
|
||||
function (point) {
|
||||
if (!point) {
|
||||
alert(address + " 주소를 찾을 수 없습니다.");
|
||||
}
|
||||
else {
|
||||
map.setCenter(point, zoom);
|
||||
map.addControl(new GScaleControl());
|
||||
|
||||
map.enableDoubleClickZoom();
|
||||
//map.enableContinuousZoom();
|
||||
map.enableScrollWheelZoom();
|
||||
map.setUIToDefault();
|
||||
|
||||
var marker = new GMarker(point, {draggable: true});
|
||||
GEvent.addListener(marker, "dragend", function() {
|
||||
marker_lat = marker.getLatLng().lat();
|
||||
marker_lng = marker.getLatLng().lng();
|
||||
});
|
||||
|
||||
map.addOverlay(marker);
|
||||
}
|
||||
});
|
||||
|
||||
GEvent.addListener(map, "maptypechanged", function() {
|
||||
mapType = map.getCurrentMapType().getName();
|
||||
});
|
||||
GEvent.addListener(map, "moveend", function() {
|
||||
center_lat = map.getCenter().lat();
|
||||
center_lng = map.getCenter().lng();
|
||||
setZoom = map.getZoom();
|
||||
});
|
||||
}
|
||||
|
||||
function popupClose() {
|
||||
oEditor.popupWinClose();
|
||||
}
|
||||
Reference in New Issue
Block a user