提交 9be8a4a0 authored 作者: chengye's avatar chengye

地图坐标修复

上级 fc501b3b
...@@ -2,46 +2,66 @@ ...@@ -2,46 +2,66 @@
{block name="body"} {block name="body"}
<style type="text/css"> <style type="text/css">
body{ body {
height: 100%; height: 100%;
} }
#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
.layui-fluid{ #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.layui-fluid {
height: 100%; height: 100%;
} }
.layui-row{
.layui-row {
height: 100%; height: 100%;
} }
.layui-col-md12{
.layui-col-md12 {
height: 100%; height: 100%;
} }
</style> </style>
<div class="layui-row"> <div class="layui-row">
<div class="layui-col-md12"> <div class="layui-col-md12">
<form class="layui-form" style="border-bottom: 1px solid #c7c2b2;"> <form class="layui-form" style="border-bottom: 1px solid #c7c2b2;">
<div class="layui-input-inline"> <div class="layui-input-inline">
<select name="search_type" id="search_type"> <select name="search_type" id="search_type">
<option value="1" selected="selected" {if $search_type eq 1 } selected {/if}>站名</option> <option value="1" selected="selected" {if $search_type eq 1 } selected {
<option value="2" {if $search_type eq 2 } selected {/if}>站号</option> /if}>站名</option>
<option value="3" {if $search_type eq 3 } selected {/if}>项目编号</option> <option value="2" {if $search_type eq 2 } selected {
/if}>站号</option>
</select> <option value="3" {if $search_type eq 3 } selected {
</div> /if}>项目编号</option>
<div class="layui-input-inline layui-show-xs-block">
<input type="text" name="search_text" placeholder="搜索内容" autocomplete="off" id="search_text" class="layui-input" value="{$search_text}"> </select>
</div> </div>
<div class="layui-input-inline layui-show-xs-block">
<div class="layui-input-inline layui-show-xs-block"> <input type="text" name="search_text" placeholder="搜索内容" autocomplete="off" id="search_text"
<button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button> class="layui-input" value="{$search_text}">
</div> </div>
<div class="layui-input-inline layui-show-xs-block layui-right">
<img src="__STATIC__/admin/image/3.png" alt="" width="30"> 开通 <div class="layui-input-inline layui-show-xs-block">
<img src="__STATIC__/admin/image/2.png" alt="" width="30"> 施工 <button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button>
<img src="__STATIC__/admin/image/1.png" alt="" width="30"> 选址 </div>
</div> <div class="layui-input-inline layui-show-xs-block layui-right">
</form> <div class="layui-input-inline">
<div id="allmap" style='width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";'></div> <img src="__STATIC__/admin/image/3.png" alt="" width="30"> 开通
</div>
<div class="layui-input-inline">
<img src="__STATIC__/admin/image/2.png" alt="" width="30"> 施工
</div>
<div class="layui-input-inline">
<img src="__STATIC__/admin/image/1.png" alt="" width="30"> 选址
</div>
</div>
</form>
<div id="allmap" style='width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";'></div>
</div> </div>
</div> </div>
</body> </body>
...@@ -56,26 +76,26 @@ ...@@ -56,26 +76,26 @@
var form = layui.form; var form = layui.form;
//初始化地图控件 //初始化地图控件
var map = new BMap.Map("allmap", {enableMapClick: false,minZoom:11,maxZoom:14}); var map = new BMap.Map("allmap", {enableMapClick: false, minZoom: 11, maxZoom: 14});
var point = new BMap.Point(116.40387397,39.91488908); var point = new BMap.Point(116.40387397, 39.91488908);
var iconR = new BMap.Icon("http://demojz.gonn.tech/static/admin/image/1.png", new BMap.Size(20,20)); var iconR = new BMap.Icon("http://demojz.gonn.tech/static/admin/image/1.png", new BMap.Size(20, 20));
var iconY = new BMap.Icon("http://demojz.gonn.tech/static/admin/image/2.png", new BMap.Size(20,20)); var iconY = new BMap.Icon("http://demojz.gonn.tech/static/admin/image/2.png", new BMap.Size(20, 20));
var iconB = new BMap.Icon("http://demojz.gonn.tech/static/admin/image/3.png", new BMap.Size(30,30)); var iconB = new BMap.Icon("http://demojz.gonn.tech/static/admin/image/3.png", new BMap.Size(30, 30));
//初始化地图配置 //初始化地图配置
function initMapConf(points = ''){ function initMapConf(points = '') {
if(points == '') points = point; if (points == '') points = point;
map.centerAndZoom(points, 13); map.centerAndZoom(points, 13);
map.enableScrollWheelZoom(true); map.enableScrollWheelZoom(true);
map.addControl(new BMap.ScaleControl({ map.addControl(new BMap.ScaleControl({
anchor: BMAP_ANCHOR_TOP_LEFT anchor: BMAP_ANCHOR_TOP_LEFT
})); }));
map.addControl(new BMap.NavigationControl({ map.addControl(new BMap.NavigationControl({
anchor: BMAP_ANCHOR_TOP_LEFT anchor: BMAP_ANCHOR_TOP_LEFT
})); }));
map.addControl(new BMap.OverviewMapControl({ map.addControl(new BMap.OverviewMapControl({
anchor: BMAP_ANCHOR_TOP_LEFT anchor: BMAP_ANCHOR_TOP_LEFT
})); }));
...@@ -86,41 +106,39 @@ ...@@ -86,41 +106,39 @@
BMAP_HYBRID_MAP, BMAP_HYBRID_MAP,
] ]
})); }));
}; };
initMapConf(); //初始化
var bPoint = map.getBounds(); //坐标范围
var bPoint=JSON.stringify(bPoint);
drawMap('',0,bPoint);
//缩放 initMapConf(); //初始化
map.addEventListener("zoomend", function(evt){   var bPoint = map.getBounds(); //坐标范围
var bPoint = JSON.stringify(bPoint);
var bPoint = map.getBounds(); //坐标范围 drawMap('', 0, bPoint);
var bPoint=JSON.stringify(bPoint);
drawMap('',0,bPoint);
}); //缩放
map.addEventListener("zoomend", function (evt) {
var bPoint = map.getBounds(); //坐标范围
var bPoint = JSON.stringify(bPoint);
drawMap('', 0, bPoint);
//拖拽 });
map.addEventListener("dragend", function(evt){ 
var bPoint = map.getBounds(); //坐标范围
var bPoint=JSON.stringify(bPoint);
drawMap('',0,bPoint);
}); //拖拽
map.addEventListener("dragend", function (evt) {
var bPoint = map.getBounds(); //坐标范围
var bPoint = JSON.stringify(bPoint);
drawMap('', 0, bPoint);
});
function drawMap(d="",type=0,point=""){ function drawMap(d = "", type = 0, point = "") {
map.clearOverlays(); map.clearOverlays();
var data = { var data = {
type:type, type: type,
point:point, //如果是初始化就带过去一个初始坐标 point: point, //如果是初始化就带过去一个初始坐标
data:d data: d
}; };
//如果是监听表单提交,就带过去提交参数 //如果是监听表单提交,就带过去提交参数
$.ajax({ $.ajax({
url: '/region_data', url: '/region_data',
...@@ -128,18 +146,18 @@ ...@@ -128,18 +146,18 @@
data: data, data: data,
dataType: "json", dataType: "json",
success: function (res) { success: function (res) {
if (res == 0) { if (res == 0) {
layer.open({ layer.open({
content: "没有查询到匹配数据", content: "没有查询到匹配数据",
btn: ['确定'], btn: ['确定'],
yes: function () { yes: function () {
layer.closeAll(); layer.closeAll();
// window.location.reload(); // window.location.reload();
} }
}); });
} }
if(res.zPoint){ if (res.zPoint) {
// 初始化坐标 // 初始化坐标
var zPoint = res.zPoint; var zPoint = res.zPoint;
...@@ -160,22 +178,22 @@ ...@@ -160,22 +178,22 @@
BMAP_HYBRID_MAP BMAP_HYBRID_MAP
] ]
})); }));
} }
var time = 0; var time = 0;
for (var i in res) { for (var i in res) {
time++; time++;
} }
if (time <= 3) { if (time <= 3) {
var point = new BMap.Point(res[0].jz_longitude, res[0].jz_latitude) var point = new BMap.Point(res[0].jz_longitude, res[0].jz_latitude)
var content = var content =
"<p>基站名称:" + res[0].jz_name + "<br/>项目编号:" + res[0].project_code + "<br/></p>"; "<p>基站名称:" + res[0].jz_name + "<br/>项目编号:" + res[0].project_code + "<br/></p>";
addMarker(point, content); addMarker(point, content);
} }
for (var i in res) { for (var i in res) {
var point = new BMap.Point(res[i].jz_longitude, res[i].jz_latitude) var point = new BMap.Point(res[i].jz_longitude, res[i].jz_latitude)
var content ="<p>基站名称:" + res[i].jz_name + "<br/>项目编号:" + res[i].project_code + "<br/><a onclick=xadmin.add_tab('地图显示','http://fengzy-dev-jz.gonn.tech/dist/base.html?businessId="+ res[i].business_id +"&pageNow=1&pageName=stationData',true,true)>查看详情</a></p>"; var content = "<p>基站名称:" + res[i].jz_name + "<br/>项目编号:" + res[i].project_code + "<br/><a onclick=xadmin.add_tab('地图显示','http://fengzy-dev-jz.gonn.tech/dist/base.html?businessId=" + res[i].business_id + "&pageNow=1&pageName=stationData',true,true)>查看详情</a></p>";
addMarker(point, content); addMarker(point, content);
} }
} }
...@@ -184,11 +202,11 @@ ...@@ -184,11 +202,11 @@
} }
//监听提交事件 //监听提交事件
form.on('submit(search)',function (d) { form.on('submit(search)', function (d) {
drawMap(d.field,1,''); drawMap(d.field, 1, '');
return false; return false;
}) })
...@@ -196,7 +214,7 @@ ...@@ -196,7 +214,7 @@
function addMarker(point, content) { function addMarker(point, content) {
translateCallback = function (data) { translateCallback = function (data) {
if (data.status === 0) { if (data.status === 0) {
var marker = new BMap.Marker(data.points[0],{icon:iconB}); var marker = new BMap.Marker(data.points[0], {icon: iconB});
map.addOverlay(marker); //把标注添加到地图上 map.addOverlay(marker); //把标注添加到地图上
addClickHandler(content, marker); addClickHandler(content, marker);
...@@ -239,24 +257,22 @@ ...@@ -239,24 +257,22 @@
//获取两点距离,保留小数点后两位 //获取两点距离,保留小数点后两位
for (var i = 0, zoomLen = zoom.length; i < zoomLen; i++) { for (var i = 0, zoomLen = zoom.length; i < zoomLen; i++) {
var result = zoom[i] - distance; var result = zoom[i] - distance;
if ((result > 0) && result < 1000){ if ((result > 0) && result < 1000) {
return 18 - i -4 return 18 - i - 4
} } else if (result > 0) {
else if(result > 0){
return 18 - i + 3;//之所以会多3,是因为地图范围常常是比例尺距离的10倍以上。所以级别会增加3。 return 18 - i + 3;//之所以会多3,是因为地图范围常常是比例尺距离的10倍以上。所以级别会增加3。
} }
} }
} }
});
});
</script>
</script>
{/block} {/block}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论