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