179 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			179 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectSetMap.aspx.cs" Inherits="FineUIPro.Web.ProjectData.ProjectSetMap" %> | ||
|  | 
 | ||
|  | <!DOCTYPE html> | ||
|  | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
|  | <head runat="server"> | ||
|  |     <title></title> | ||
|  |     <link href="../res/css/common.css" rel="stylesheet" type="text/css" /> | ||
|  |     <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=Lma56vCk88x46KEXSyc2cIXk6kT2W7KB"></script> | ||
|  | </head> | ||
|  | <body> | ||
|  |     <form id="form1" runat="server"> | ||
|  |         <f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" /> | ||
|  |         <f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true" | ||
|  |             BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right"> | ||
|  |             <Toolbars> | ||
|  |                 <f:Toolbar runat="server" ID="tool1"> | ||
|  |                     <Items> | ||
|  |                            <f:Button runat="server" Text="定位" ID="btnD" OnClientClick=" getCurrentPosition();" ></f:Button> | ||
|  |                         <f:TextBox ID="txtProjectPointResult" Label="项目坐标范围" runat="server" LabelAlign="right"  | ||
|  |                             LabelWidth="120px" Width="700px"> | ||
|  |                         </f:TextBox> | ||
|  |                         <f:TextBox ID="txtProjectPoint" Label="当前选择坐标" runat="server" LabelAlign="right"  | ||
|  |                             LabelWidth="120px" Width="400px"> | ||
|  |                         </f:TextBox> | ||
|  |                         <f:ToolbarFill runat="server"></f:ToolbarFill> | ||
|  |                         <f:Button runat="server" Text="确定" ID="btnSure" OnClick="btnSure_Click" ></f:Button> | ||
|  |                         <f:Button runat="server" Text="完成" ID="btnComplete" OnClick="btnComplete_Click" ></f:Button> | ||
|  |                         <f:Button runat="server" Text="保存" ID="btnSave" OnClick="btnSave_Click" ></f:Button>  | ||
|  |                     </Items> | ||
|  |                 </f:Toolbar> | ||
|  |             </Toolbars> | ||
|  |             <Rows> | ||
|  |                 <f:FormRow> | ||
|  |                     <Items> | ||
|  |                         <f:ContentPanel runat="server" ShowHeader="false"> | ||
|  |                             <div style=""> | ||
|  |                                 <%--<div id="getCurrentPosition" style="width:100px;margin-left:5px;border:1px solid rgb(116, 178, 226);border-radius:8px;padding:3px 6px;">定位当前位置</div>--%> | ||
|  |                                 <div style="display:flex;margin-top:10px; "> | ||
|  |                                     <div> | ||
|  |                                         <input id="addressName" type="text" name="addressName" value="" /> | ||
|  |                                     </div> | ||
|  |                                     <div id="getAddressName" style="width:128px;margin-left:5px;border:1px solid rgb(116, 178, 226);border-radius:8px;padding:3px 6px;">查询地址对应坐标</div> | ||
|  |                                 </div> | ||
|  |                             </div> | ||
|  |                         </f:ContentPanel> | ||
|  |                     </Items> | ||
|  |                 </f:FormRow> | ||
|  |                 <f:FormRow> | ||
|  |                     <Items> | ||
|  |                         <f:ContentPanel runat="server" ShowHeader="false"> | ||
|  |                             <div style="width: 100%; height: 600px; border: #ccc solid 1px; font-size: 12px" id="map1"></div> | ||
|  |                         </f:ContentPanel> | ||
|  |                     </Items> | ||
|  |                 </f:FormRow> | ||
|  |             </Rows> | ||
|  |         </f:Form> | ||
|  |     </form> | ||
|  | </body> | ||
|  | <script type="text/javascript"> | ||
|  |     var txtProjectPointClientID = '<%= txtProjectPoint.ClientID %>'; | ||
|  |     var txtProjectPointResultClientID = '<%= txtProjectPointResult.ClientID %>'; | ||
|  | 
 | ||
|  |     //$("#btnConfirmWC").click(function () { | ||
|  |     //    var result =F(txtProjectPointResultClientID).getValue() // $("#txtProjectPointResult").html() | ||
|  |     //    var list = result.split('|') | ||
|  |     //    AddPolygon(list) | ||
|  |     //}) | ||
|  |     $(document).ready(function () { | ||
|  |         $(document).on('click', "#getCurrentPosition", function () { | ||
|  |             getCurrentPosition() | ||
|  |         }) | ||
|  |         $(document).on('click', "#getAddressName", function () { | ||
|  |             getPointByAddress() | ||
|  |         }) | ||
|  |     }) | ||
|  |     // 搜索输入地址对应坐标 | ||
|  |     function getPointByAddress() { | ||
|  |         var address = $('#addressName').val() || '北京市海淀区上地10街' | ||
|  |         var city = ''; // '北京市' | ||
|  |         //创建地址解析器实例 | ||
|  |         var myGeo = new BMap.Geocoder(); | ||
|  |         // 将地址解析结果显示在地图上,并调整地图视野 | ||
|  |         myGeo.getPoint(address, function (point) { | ||
|  |             if (point) { | ||
|  |                 map.centerAndZoom(point, 16); | ||
|  |                 addMapOverlay(point) | ||
|  |             } else { | ||
|  |                 alert('您选择的地址没有解析到结果!'); | ||
|  |             } | ||
|  |         }, city) | ||
|  |     } | ||
|  |     // 定位当前位置 | ||
|  |     function getCurrentPosition() { | ||
|  |         var geolocation = new BMap.Geolocation(); | ||
|  |         geolocation.getCurrentPosition(function (r) { | ||
|  |             if (this.getStatus() == BMAP_STATUS_SUCCESS) { | ||
|  |                 addMapOverlay(r.point) | ||
|  |                 map.panTo(r.point); | ||
|  |                // alert('您的位置:' + r.point.lng + ',' + r.point.lat); | ||
|  |             } | ||
|  |             else { | ||
|  |                 alert('failed' + this.getStatus()); | ||
|  |             } | ||
|  |         }, { enableHighAccuracy: true }) | ||
|  |     } | ||
|  |     //创建和初始化地图函数: | ||
|  |     function initMap() { | ||
|  |         createMap();//创建地图 | ||
|  |         setMapEvent();//设置地图事件 | ||
|  |         addMapControl();//向地图添加控件 | ||
|  |         //addMapOverlay();//向地图添加覆盖物 | ||
|  |     } | ||
|  |     function createMap() { | ||
|  |         map = new BMap.Map("map1"); | ||
|  |         map.centerAndZoom(new BMap.Point(114.343278, 30.661114), 11); | ||
|  |         map.addEventListener('click', function (e) { | ||
|  |             console.log(e) | ||
|  |             // alert('点击位置经纬度:' + e.point.lng + ',' + e.point.lat); | ||
|  |             //$("#txtProjectPoint").html(e.point.lng + ',' + e.point.lat)     | ||
|  |             F(txtProjectPointClientID).setValue(e.point.lng + ',' + e.point.lat) | ||
|  |             addMapOverlay(e.point) | ||
|  |         }); | ||
|  |     } | ||
|  |     function setMapEvent() { | ||
|  |         map.enableScrollWheelZoom(); | ||
|  |         map.enableKeyboard(); | ||
|  |         map.enableDragging(); | ||
|  |         map.enableDoubleClickZoom() | ||
|  |     } | ||
|  |     function addClickHandler(target, window) { | ||
|  |         target.addEventListener("click", function () { | ||
|  |             target.openInfoWindow(window); | ||
|  |         }); | ||
|  |     } | ||
|  |     function addMapOverlay(point) { | ||
|  |         removeOverlay(); | ||
|  |         // 创建点 | ||
|  |         var marker = new BMap.Marker(new BMap.Point(point.lng, point.lat)); | ||
|  |         map.addOverlay(marker); // 增加点 | ||
|  |     } | ||
|  |     //绘制多边形,经纬度 | ||
|  |     function AddPolygon() {        | ||
|  |         var result = F(txtProjectPointResultClientID).getValue() | ||
|  |         var list = result.split('|') | ||
|  |         var listArr = [] | ||
|  |         for (var i = 0; i < list.length; i++) { | ||
|  |             var pointTemp = list[i] | ||
|  |             if (pointTemp) { | ||
|  |                 listArr.push(new BMap.Point(pointTemp.split(',')[0], pointTemp.split(',')[1])) | ||
|  |             } | ||
|  |         } | ||
|  |         removeOverlay(); | ||
|  |         // 创建多边形 | ||
|  |         var polygon = new BMap.Polygon(listArr, { | ||
|  |             strokeColor: 'red', | ||
|  |             strokeWeight: 2, | ||
|  |             strokeOpacity: 0.5 | ||
|  |         }); | ||
|  |         map.addOverlay(polygon); | ||
|  |     } | ||
|  |     // 清除覆盖物 | ||
|  |     function removeOverlay() { | ||
|  |         map.clearOverlays(); | ||
|  |     } | ||
|  |     //向地图添加控件 | ||
|  |     function addMapControl() { | ||
|  |         var scaleControl = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT }); | ||
|  |         scaleControl.setUnit(BMAP_UNIT_IMPERIAL); | ||
|  |         map.addControl(scaleControl); | ||
|  |         var navControl = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_LEFT, type: BMAP_NAVIGATION_CONTROL_LARGE }); | ||
|  |         map.addControl(navControl); | ||
|  |         var overviewControl = new BMap.OverviewMapControl({ anchor: BMAP_ANCHOR_BOTTOM_RIGHT, isOpen: true }); | ||
|  |         map.addControl(overviewControl); | ||
|  |     } | ||
|  |     var map; | ||
|  |     initMap(); | ||
|  | </script> | ||
|  | </html> |