Lin_Ye_Fang_Huo/public/widgets/navXZQH/view.js

93 lines
2.2 KiB
JavaScript
Raw Normal View History

2023-07-18 09:04:15 +08:00
"use script"; //开发环境建议开启严格模式
2023-07-08 15:37:34 +08:00
//对应widget.js中MyWidget实例化后的对象
2023-07-18 09:04:15 +08:00
var thisWidget;
2023-07-08 15:37:34 +08:00
//当前页面业务
function initWidgetView(_thisWidget) {
2023-07-18 09:04:15 +08:00
thisWidget = _thisWidget;
2023-07-08 15:37:34 +08:00
2023-07-18 09:04:15 +08:00
$("#xzqh-select").citypicker({
2023-07-08 15:37:34 +08:00
simple: true,
//province: '安徽省',
//city: '合肥市',
//district: '蜀山区'
2023-07-18 09:04:15 +08:00
});
2023-07-08 15:37:34 +08:00
2023-07-18 09:04:15 +08:00
var $xzqhselect = $("#xzqh-select");
$xzqhselect.hide(); //隐藏
$xzqhselect.citypicker("open");
2023-07-08 15:37:34 +08:00
2023-07-18 09:04:15 +08:00
var timetemp = -1;
$(".city-picker-dropdown").on("click", ".city-select a", function () {
var dmnm = String($xzqhselect.data("citypicker").getCode());
var dmmc = $xzqhselect.data("citypicker").getVal();
2023-07-08 15:37:34 +08:00
2023-07-18 09:04:15 +08:00
$("#cityname").html("地区:" + dmmc);
2023-07-08 15:37:34 +08:00
//调用地图定位
if (timetemp != -1) {
2023-07-18 09:04:15 +08:00
clearTimeout(timetemp);
timetemp = -1;
2023-07-08 15:37:34 +08:00
}
timetemp = setTimeout(function () {
2023-07-18 09:04:15 +08:00
centerAtRegion(dmnm, dmmc);
}, 200);
2023-07-08 15:37:34 +08:00
//调用地图定位
2023-07-18 09:04:15 +08:00
});
2023-07-08 15:37:34 +08:00
}
//定位至指定区域
function centerAtRegion(dmnm, dmmc) {
2023-07-18 09:04:15 +08:00
var jsonurl;
var dmxh;
if (dmnm.substring(2) == "0000") {
2023-07-08 15:37:34 +08:00
//省
2023-07-18 09:04:15 +08:00
jsonurl = "/sheng/china.json";
dmxh = dmnm.substring(0, 2);
} else if (dmnm.substring(4) == "00") {
2023-07-08 15:37:34 +08:00
//市
2023-07-18 09:04:15 +08:00
jsonurl = "/shi/" + dmnm.substring(0, 2) + ".json";
dmxh = dmnm.substring(0, 4);
2023-07-08 15:37:34 +08:00
} else {
//县区
2023-07-18 09:04:15 +08:00
jsonurl = "/xian/" + dmnm.substring(0, 4) + "00.json";
dmxh = dmnm;
$("#con_wdx_1").hide();
2023-07-08 15:37:34 +08:00
}
2023-07-18 09:04:15 +08:00
$.getJSON("//data.mars3d.cn/file/geojson/xzqh" + jsonurl, function (geojson) {
2023-07-08 15:37:34 +08:00
if (!thisWidget.isActivate) {
2023-07-18 09:04:15 +08:00
return;
2023-07-08 15:37:34 +08:00
}
2023-07-18 09:04:15 +08:00
var length = geojson.features.length;
2023-07-08 15:37:34 +08:00
for (var index = 0; index < length; index++) {
if (geojson.features[index].properties.id == dmxh) {
2023-07-18 09:04:15 +08:00
thisWidget.showRegionExtent(geojson.features[index]);
break;
2023-07-08 15:37:34 +08:00
}
}
2023-07-18 09:04:15 +08:00
});
2023-07-08 15:37:34 +08:00
//显示名称
2023-07-18 09:04:15 +08:00
var temp = dmmc.lastIndexOf("/");
2023-07-08 15:37:34 +08:00
if (temp != -1) {
2023-07-18 09:04:15 +08:00
dmmc = dmmc.substring(temp + 1);
2023-07-08 15:37:34 +08:00
}
if (dmmc.length <= 2) {
2023-07-18 09:04:15 +08:00
dmmc = dmmc + "&nbsp;";
2023-07-08 15:37:34 +08:00
} else if (dmmc.length > 3) {
2023-07-18 09:04:15 +08:00
dmmc = dmmc.substring(0, 2) + "..";
2023-07-08 15:37:34 +08:00
}
2023-07-18 09:04:15 +08:00
$("#xzqh_sel").html(dmmc);
2023-07-08 15:37:34 +08:00
}
function goHome() {
2023-07-18 09:04:15 +08:00
$("#cityname").html("");
$("#xzqh-select").citypicker("reset");
2023-07-08 15:37:34 +08:00
2023-07-18 09:04:15 +08:00
thisWidget.goHome();
2023-07-08 15:37:34 +08:00
}