/**
* Created by chenbiao on 2017/7/4.
*/
//下拉框
var clear_flag = false;
var guideLevel=['零','一','二','三','四','五','六','七'];
;(function ($) {
var ser_object2;
var ser_object2_img;
var radius_v;
jQuery.fn.extend({
"M_select": function (options) {
var ojc_arr = this;
var ojc;
// select下拉框
for (i = 0; i < ojc_arr.length; i++) {
var ser_object = $(ojc_arr[i]);
$(ser_object).parent().addClass("select-con");
$(ser_object).parent().css("z-index", "1");
$(ser_object).wrap("");
$(ser_object).parent().parent().append('');
var w = $(ser_object).parent().parent().width();
$(ser_object).parent().parent().find(".sel-float-box").css("width", w);
var ojc = $(ser_object).children();
for (a = 0; a < ojc.length; a++) {
var t = $(ojc[a]).text();
var v = $(ojc[a]).attr("value");
$(ser_object).parent().parent().find(".sel-float-box").append('
' +
'
'
}else{
guideHtml+='
' +
'
'
}
var configs = data.configs;
if (configs) {
$.each(configs, function (index, item) {
//空余车位数
var freeNum = item.freeNum == undefined || item.freeNum == null ? 0 : item.freeNum;
var allBerthNum = item.allBerthNum == undefined || item.allBerthNum == null ? 1 : item.allBerthNum;
var rate = freeNum / allBerthNum * 100;
var classStyle;
if (rate < 1) {
//车位已满
classStyle = 'num-full';
} else if (rate <= 30) {
//车位不多
classStyle = 'num-few';
} else {
//车位充足
classStyle = 'num-free';
}
guideHtml += '
' + freeNum + ''
})
}
// '
280' +
// '
80' +
// '
20' +
guideHtml += '
' +
'
' +
'
';
var myLabel1 = new BMap.Label(guideHtml, {
offset: new BMap.Size(60, -180), //label的偏移量,为了让label的中心显示在点上
position: point
});
myLabel1.setStyle({
color: "#F0F0F0",
fontSize: "12px",
//height: "220px",
// width: "350px",
padding: "5px",
whiteSpace: "normal",
//fontFamily: "微软雅黑",
zIndex: "1000",
backgroundColor: "rgba(0, 0, 0, 0)",
border: "0px"
});
map.addOverlay(myLabel1, point);
map.panTo(point);
}
//弹出二级诱导信息
function alertSecondLevelGuideInfo(data, point) {
var guideInfos = data.guideInfos;
var guideHtml = '
';
if (null != guideInfos) {
$.each(guideInfos, function (index, item) {
guideHtml += '
' +
'
' + item.plName + '
' +
'
';
if (item.guidePoint == 1) {
guideHtml += '
'
} else if (item.guidePoint == 2) {
guideHtml += '
'
} else if (item.guidePoint == 3) {
guideHtml += '
'
} else if (item.guidePoint == 4) {
guideHtml += '
'
}
guideHtml += '
' +
'
' + item.freeNum + '
'
})
}
guideHtml += '
';
var myLabel2 = new BMap.Label(guideHtml, {
offset: new BMap.Size(60, -180), //label的偏移量,为了让label的中心显示在点上
position: point
});
myLabel2.setStyle({
color: "#F0F0F0",
fontSize: "12px",
//height: "220px",
// width: "350px",
padding: "5px",
whiteSpace: "normal",
//fontFamily: "微软雅黑",
zIndex: "1000",
backgroundColor: "rgba(0, 0, 0, 0)",
border: "0px"
});
map.addOverlay(myLabel2, point);
map.panTo(point);
}
//弹出三级诱导信息
function alertThridLevelGuideInfo(data, point) {
//是否有限高提示
var highLimitStatus = data.highLimitStatus;
//是否有急转弯提示
var sharpTurnStatus = data.sharpTurnStatus;
//是否有楼层指示
var floorStatus = data.floorStatus;
//时间制式
var timeSystem = data.timeSystem + '';
var guideHtml = '
' +
'
' +
'
' +
'
' +
'' +
'' +
'
' +
'
' +
'
' +
'
' +
'
' + (data.floor == null ? '--' : data.floor ) + '层
' +
'
' +
'
空闲
' +
'
' + (data.freeNum == null ? '0' : data.freeNum ) + '
' +
'
'
//判断是否有楼层限高
if (highLimitStatus == 1) {
guideHtml += '
' + data.highLimitNum + '
'
}
//判断时间营业时间,
if (null != timeSystem) {
if (timeSystem.length > 6) {
guideHtml += '
'
} else {
guideHtml += '
'
}
}
if (sharpTurnStatus == 1) {
guideHtml += '
'
}
guideHtml += '
'
var myLabel3 = new BMap.Label(guideHtml, {
offset: new BMap.Size(60, -180), //label的偏移量,为了让label的中心显示在点上
position: point
});
myLabel3.setStyle({
color: "#F0F0F0",
fontSize: "12px",
//height: "220px",
// width: "350px",
padding: "5px",
whiteSpace: "normal",
zIndex: "1000",
backgroundColor: "rgba(0, 0, 0, 0)",
border: "0px"
});
map.addOverlay(myLabel3, point);
map.panTo(point);
}
//当前行政区域划分
function getBoundary(name) {
var bdary = new BMap.Boundary();
map.clearOverlays();
bdary.get(name, function (rs) {
var count = rs.boundaries.length; //行政区域的点有多少个
if (count === 0) {
alert('未能获取当前输入行政区域');
return;
}
var pointArray = [];
for (var i = 0; i < count; i++) {
var ply = new BMap.Polygon(rs.boundaries[i], {
strokeWeight: 2,
strokeColor: "#ee07db",
fillColor: '',
fillOpacity: 0
}); //建立多边形覆盖物
map.addOverlay(ply); //添加覆盖物
pointArray = pointArray.concat(ply.getPath());
}
map.setViewport(pointArray); //调整视野
// map.setMaxZoom(13);
});
}
// 获取位置
function theLocation(x, y, guideNo) {
//map.clearOverlays();
var new_point = new BMap.Point(x, y);
map.panTo(new_point);
map.centerAndZoom(new_point, 15);
addInfoWindow(guideNo, null, x, y);
}
//点击左侧列表显示相应诱导icon
$(document).on('click', '#list_con >li', function () {
var x = $(this).find('.coordinate_x').text();
var y = $(this).find('.coordinate_y').text();
var guideNo = $(this).find('.coordinate_guideNo').text();
theLocation(x, y, guideNo)
});
//关闭弹窗
$(document).delegate(".pop-close", 'click', function () {
$(".pop-common").css("display", "none");
})
//获取地图上诱导屏的信息
function getGuideMapInfo(cond) {
$.ajax({
type: "post",
url: dataUrl.util.listGuideScreenForMap(),
data: JSON.stringify(cond),
contentType: 'application/json; charset=utf-8',
dataType: "json",
success: function (data) {
if (data.code == '8888') {
guidanceMapInfo(data.data.dataList);
}
else {
alert("服务请求报错:code=" + data.code + "errMsg=" + data.msg + "-" + data.errMsg);
}
}
});
}
//将诱导屏位置数据放入List中
function guidanceMapInfo(data) {
//map.clearOverlays();
guideData = [];
// console.log(data)
$.each(data, function (index, domEle) {
var freeBerthNum = domEle.freeBerthNum;
var berthNum = domEle.berthNum;
if (freeBerthNum == null) {
freeBerthNum = 0;
}
if (berthNum == null || berthNum == 0) {
freeBerthNum = 0;
berthNum = 1;
}
guideData.push({
'guideNo': domEle.guideNo, 'pointX': domEle.lonId, 'pointY': domEle.latId,
'level': domEle.level, 'rule': freeBerthNum / berthNum
});
})
//console.log("地图上的数据" + JSON.stringify(guideData));
//加载地图位置气泡
drawMarker();
};