<div id="map" style="width:558px">
	<div>地址:  <input id="map_address" value="" style="width:200px; padding:4px;" /> <button id="map-search-sumbit">搜 索</button></div>
	<div id="map_canvas" style="width:558px; height:360px;"></div>
</div>
<script type="text/dialog">
var dialog = this;

var getScript = function(src, fn, doc) {
	doc = doc || document;
	
	var script = doc.createElement('script');
	script.language = "javascript";
	script.charset = $.charset;
	script.type = 'text/javascript';

	script.onload = script.onreadystatechange = function() {
		if (!script.readyState || 'loaded' === script.readyState ||'complete' === script.readyState) {
			fn && fn();
			script.onload = script.onreadystatechange = null;
			script.parentNode.removeChild(script);
		};
	};
	
	script.src = src;
	doc.body.appendChild(script);
};

getScript("http://maps.googleapis.com/maps/api/js?sensor=false&language=zh_CN", function () {
	var map, geocoder;
	function initialize() {
		var latlng = new google.maps.LatLng(39.904214, 116.407413);//39.904214,116.407413
		var options = {
			zoom: 11,
			center: latlng,
			disableDefaultUI: true,
			panControl: true,
			zoomControl: true,
			mapTypeControl: true,
			scaleControl: true,
			streetViewControl: false,
			overviewMapControl: true,
			mapTypeId: google.maps.MapTypeId.ROADMAP
		};
		map = new google.maps.Map(document.getElementById("map_canvas"), options);
		geocoder = new google.maps.Geocoder();
		geocoder.geocode({latLng: latlng}, function(results, status) {
			if (status == google.maps.GeocoderStatus.OK) {
				if (results[3]) {
					document.getElementById("map_address").value = results[3].formatted_address;
				}
			}
		});
		
		
		dialog.title('google mpas')
		.button({name: '截图', callback: function () {
			var center = map.getCenter().lat() + ',' + map.getCenter().lng(),
				zoom = map.getZoom(),
				maptype = map.getMapTypeId(),
				url = 'http://maps.googleapis.com/maps/api/staticmap';
				url += '?center=' + encodeURIComponent(center);
				url += '&zoom=' + encodeURIComponent(zoom);
				url += '&size=558x360';
				url += '&maptype=' + encodeURIComponent(maptype);
				url += '&markers=' + encodeURIComponent(center);
				url += '&language=zh_CN';
				url += '&sensor=false';
			
			art.dialog.through({title: false, content: '<img src="' + url + '" />', padding: 0, width: 558, height: 360, lock: true});
			
			return false;
		}, focus: true})
		.position('50%', 'goldenRatio');
		
		document.getElementById("map-search-sumbit").onclick = function () {
			var input = document.getElementById('map_address');
			search(input.value);
		};
	}
	function search(address) {
		if (!map) return;
		geocoder.geocode({address : address}, function(results, status) {
			if (status == google.maps.GeocoderStatus.OK) {
				map.setZoom(11);
				map.setCenter(results[0].geometry.location);
				var marker = new google.maps.Marker({
					map: map,
					position: results[0].geometry.location
				});
			} else {
				alert("Invalid address: " + address);
			}
		});
	}
});
</script>