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>
 |