125 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
<!doctype html>
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
<meta charset="utf-8" />
 | 
						|
<title>Baidu Maps</title>
 | 
						|
<style>
 | 
						|
	html { height:100%; }
 | 
						|
	body { height:100%;margin:0;padding:0;background-color:#fff; }
 | 
						|
	#search_box{position:fixed;top:5px;right:5px;z-index:9999;}
 | 
						|
	#search_box input{
 | 
						|
		-webkit-appearance: none;
 | 
						|
		border-radius:3px;
 | 
						|
		box-sizing:border-box;
 | 
						|
		outline:0;
 | 
						|
		box-shadow:0 0 3px rgba(0,0,0,0.4);
 | 
						|
	}
 | 
						|
	#search_box input[type="text"]{
 | 
						|
		background-color:#fff;
 | 
						|
		border:1px solid #ccc;
 | 
						|
		color:#000;
 | 
						|
		width:180px;
 | 
						|
		padding:5px;
 | 
						|
		font-size:16px;
 | 
						|
		opacity:0.7;
 | 
						|
		box-shadow:0 0 3px rgba(0,0,0,0.4);
 | 
						|
	}
 | 
						|
	#search_box input[type="button"]{
 | 
						|
		margin-left:5px;
 | 
						|
		background-color:#207ab7;
 | 
						|
		border:1px solid #207ab7;
 | 
						|
		color:#fff;
 | 
						|
		padding:4px 6px;
 | 
						|
		font-size:14px;
 | 
						|
	}
 | 
						|
</style>
 | 
						|
<script charset="utf-8" src="//api.map.baidu.com/api?v=3.0&ak=ONwdanPtvCDLHBSm184T2ynP"></script>
 | 
						|
<script>
 | 
						|
	var editor=parent.tinymce.activeEditor;
 | 
						|
	function insCnt(txt){
 | 
						|
	    editor.insertContent(txt);
 | 
						|
	    parent.tinymce.activeEditor.windowManager.close();
 | 
						|
	}
 | 
						|
 | 
						|
	var map, geocoder;
 | 
						|
	var lng,lat;
 | 
						|
	function initialize() {
 | 
						|
		map = new BMap.Map('map_canvas');
 | 
						|
		var point = new BMap.Point(116.331398,39.897445);
 | 
						|
		map.centerAndZoom(point, 14);
 | 
						|
		map.addControl(new BMap.NavigationControl());
 | 
						|
		//map.enableScrollWheelZoom();
 | 
						|
 | 
						|
		//根据IP定位
 | 
						|
		var myCity = new BMap.LocalCity();
 | 
						|
		myCity.get(function(result){map.setCenter(result.name);});
 | 
						|
 | 
						|
		//浏览器定位,位置更准确,但需要弹出确认,扰民弃用
 | 
						|
		/*var gl = new BMap.Geolocation();
 | 
						|
		gl.getCurrentPosition(function(r){
 | 
						|
			if(this.getStatus() == BMAP_STATUS_SUCCESS){
 | 
						|
				var mk = new BMap.Marker(r.point);
 | 
						|
				map.addOverlay(mk);
 | 
						|
				map.panTo(r.point);
 | 
						|
			}else {
 | 
						|
				//alert('failed'+this.getStatus());
 | 
						|
			}        
 | 
						|
		},{enableHighAccuracy: true})*/
 | 
						|
 | 
						|
		var gc = new BMap.Geocoder();
 | 
						|
		gc.getLocation(point, function(rs){
 | 
						|
			var addComp = rs.addressComponents;
 | 
						|
			var address = [addComp.city].join('');
 | 
						|
			//console.log(address);
 | 
						|
		});
 | 
						|
 | 
						|
		map.addEventListener('click',function(e){
 | 
						|
			//alert(e.point.lng + "," + e.point.lat);
 | 
						|
			lng=e.point.lng;
 | 
						|
			lat=e.point.lat;
 | 
						|
			var marker = new BMap.Marker(new BMap.Point(e.point.lng, e.point.lat));
 | 
						|
			map.clearOverlays();
 | 
						|
			map.addOverlay(marker);
 | 
						|
			//insCnt(lng+','+lat);
 | 
						|
			parent.tinymceLng=lng;
 | 
						|
			parent.tinymceLat=lat;
 | 
						|
		});
 | 
						|
 | 
						|
		document.getElementById('kw').addEventListener('keypress',function(e){
 | 
						|
			if(e.keyCode=='13'){
 | 
						|
				e.preventDefault();
 | 
						|
				searchByStationName();
 | 
						|
			}
 | 
						|
		});
 | 
						|
	}
 | 
						|
 | 
						|
	function searchByStationName() {
 | 
						|
		var localSearch = new BMap.LocalSearch(map);
 | 
						|
    	//localSearch.enableAutoViewport(); //允许自动调节窗体大小
 | 
						|
		map.clearOverlays();//清空原来的标注
 | 
						|
		var keyword = document.getElementById("kw").value;
 | 
						|
		localSearch.setSearchCompleteCallback(function (searchResult) {
 | 
						|
			console.log(searchResult);
 | 
						|
			if(searchResult.Cr.length==0){
 | 
						|
				alert('搜索不到该地区');
 | 
						|
				return false;
 | 
						|
			}
 | 
						|
			var poi = searchResult.Cr[0];
 | 
						|
			map.centerAndZoom(poi.point, 14);
 | 
						|
			var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat));
 | 
						|
			parent.tinymceLng=poi.point.lng;
 | 
						|
			parent.tinymceLat=poi.point.lat;
 | 
						|
			map.addOverlay(marker);
 | 
						|
		});
 | 
						|
		localSearch.search(keyword);
 | 
						|
		return false;
 | 
						|
	}
 | 
						|
 | 
						|
</script>
 | 
						|
</head>
 | 
						|
<body onload="initialize();">
 | 
						|
	<div id="search_box"><input id="kw" type="text" value="" autocomplete="off" placeholder="输入要搜索的地点" /><input type="button" value="搜索" onclick="searchByStationName()"></div>
 | 
						|
	<div id="map_canvas" style="width:100%; height:100%"></div>
 | 
						|
</body>
 | 
						|
</html>
 |