function loadWaterDataFromService() {
let url = baseip + '/api/selectAttRvBaseList';
$.ajax({
xhrFields: {
withCredentials: false,
},
type: 'POST',
url: url,
success: function (data) {
if (data.lists) {
tableData_river = data.lists;
icon = icon1;
//清空数据并展示
openWaterInfoBox(tableData_river,'rvName','rvSourLong','rvSourLat');
} else if ('exception' == data.result) {
//
}
},
})
.done()
.fail(function () {});
}
function getContent(singleData){
let html = `<div class="infoWindow-box">
<img class="infoWindow-close" src="../../static/image/close_white.png" />
<p class="infoWindow-title">${isnull(singleData.rvName)}</p>
<div class="pic-box">
<img src="${baseip.substring(0, baseip.length - 1) + singleData.img}"/>
</div>
<p class="infoWindow-remark">${isnull(singleData.nt)}</p>
<ul class="infoWindow-ul">
<li><span class="infoWindow-name">河源所在位置:</span><span class="infoWindow-value">${isnull(singleData.rvSourLoc)}</span></li>
<li><span class="infoWindow-name">跨界类型:</span><span class="infoWindow-value">${isnull(singleData.crOverTypeNM)}</span></li>
<li><span class="infoWindow-name">河流类型:</span><span class="infoWindow-value">${isnull(singleData.rvTypeNM)}</span></li>
<li><span class="infoWindow-name">岸别:</span><span class="infoWindow-value">${isnull(singleData.bankNM)}</span></li>
<li><span class="infoWindow-name">河流流域面积(km²):</span><span class="infoWindow-value">${isnull(singleData.rvBasArea)}</span></li>
<li><span class="infoWindow-name">河床宽(m):</span><span class="infoWindow-value">${isnull(singleData.mnstwi)}</span></li>
<li><span class="infoWindow-name">多年平均流量(m³/s):</span><span class="infoWindow-value">${isnull(singleData.mnstsumf)}</span></li>
<li><span class="infoWindow-name">流域内人口(万人):</span><span class="infoWindow-value">${isnull(singleData.drbspp)}</span></li>
<li><span class="infoWindow-name">洪水平均传播时间(h):</span><span class="infoWindow-value">${isnull(singleData.avtm)}</span></li>
<li><span class="infoWindow-name">设计流量(m³/s):</span><span class="infoWindow-value">${isnull(singleData.designQ)}</span></li>
<li><span class="infoWindow-name">损耗系数:</span><span class="infoWindow-value">${isnull(singleData.canallossper)}</span></li>
<li><span class="infoWindow-name">警戒水位(m):</span><span class="infoWindow-value">${isnull(singleData.warnZ)}</span></li>
<li><span class="infoWindow-name">所在行政区:</span><span class="infoWindow-value">${isnull(singleData.adnm)}</span></li>
<li><span class="infoWindow-name">河口所在位置:</span><span class="infoWindow-value">${isnull(singleData.rvMouLoc)}</span></li>
<li><span class="infoWindow-name">流经地区:</span><span class="infoWindow-value">${isnull(singleData.flowArea)}</span></li>
<li><span class="infoWindow-name">河流级别:</span><span class="infoWindow-value">${isnull(singleData.rvGradNM)}</span></li>
<li><span class="infoWindow-name">河流长度(km):</span><span class="infoWindow-value">${isnull(singleData.rvLen)}</span></li>
<li><span class="infoWindow-name">平均比降(%):</span><span class="infoWindow-value">${isnull(singleData.averSlop)}</span></li>
<li><span class="infoWindow-name">集雨面积(km²):</span><span class="infoWindow-value">${isnull(singleData.mnsts)}</span></li>
<li><span class="infoWindow-name">枯水流量(m³/s):</span><span class="infoWindow-value">${isnull(singleData.mnstksf)}</span></li>
<li><span class="infoWindow-name">洪水最大安全泄量(m³/s):</span><span class="infoWindow-value">${isnull(singleData.mxsfds)}</span></li>
<li><span class="infoWindow-name">河道底高程(m):</span><span class="infoWindow-value">${isnull(singleData.canalbuthei)}</span></li>
<li><span class="infoWindow-name">安全流量(m³/s):</span><span class="infoWindow-value">${isnull(singleData.safetyQ)}</span></li>
<li><span class="infoWindow-name">设防水位(m):</span><span class="infoWindow-value">${isnull(singleData.fortifyZ)}</span></li>
<li><span class="infoWindow-name">保证水位(m):</span><span class="infoWindow-value">${isnull(singleData.safetyZ)}</span></li>
</ul>
</div>`
return html
}
//构建自定义窗体
function createInfoWindow(item) {
var content = getContent(item)
var infoWindowData = new AMap.InfoWindow({
isCustom: true, //使用自定义窗体
content: content,
offset: new AMap.Pixel(8 ,-45)
});
return infoWindowData
}
//打开窗体
function openInfoWindow(infoWindow, marker) {
infoWindow.open(map, marker.getPosition());
}
//点击标记 获取所点击标记的信息以及窗体要展示的数据,创建信息窗体
function markerClick(marker,item) {
var infoWindow = createInfoWindow(item)
openInfoWindow(infoWindow, marker)
}
// 水域/流域/行政区域 弹窗
function openWaterInfoBox(list,keyName,keyLog,keyLat) {
markerDataArr = []
var lttd = '',lgtd = '';
list.forEach((singleData,i) => {
if(keyName === 'channame'){
if(singleData.points){
let currPoints = singleData.points.split('|');
if (currPoints) {
lttd = parseFloat(currPoints[0].split(',')[0]);
lgtd = parseFloat(currPoints[0].split(',')[1]);
}
}
}else{
lttd = singleData[keyLog];
lgtd = singleData[keyLat];
}
var marker = new AMap.Marker({
position:[lttd, lgtd],//位置
icon : icon
})
marker.setMap(map);
if(mState !== 5){
// label默认蓝框白底左上角显示,样式className为:amap-marker-label
marker.setLabel({
content : singleData[keyName],
offset: new AMap.Pixel(0, 5), //设置文本标注偏移量
direction: 'bottom' //设置文本标注方位
});
}
AMap.event.addListener(marker, 'click', function(e) {
setTimeout(()=>{
markerClick(marker,singleData)
},50)
});
markerDataArr.push(marker);
if(i == 0){
var infoWindow = createInfoWindow(singleData)
openInfoWindow(infoWindow, marker)
}
})
}