107 lines
2.5 KiB
JavaScript
107 lines
2.5 KiB
JavaScript
var map, district, polygons = [], citycode;
|
|
var citySelect = document.getElementById('city');
|
|
var province=null;
|
|
var func=null;
|
|
var provincename="";
|
|
var cityname="";
|
|
|
|
function setDistrict()
|
|
{
|
|
$("#city").append('<option value="">请选择</option>');
|
|
//行政区划查询
|
|
var opts = {
|
|
subdistrict: 1, //返回下一级行政区
|
|
level: 'city',
|
|
showbiz:false //查询行政级别为 市
|
|
};
|
|
|
|
district = new AMap.DistrictSearch(opts);//注意:需要使用插件同步下发功能才能这样直接使用
|
|
district.search('中国', function(status, result) {
|
|
if(status=='complete'){
|
|
getData(result.districtList[0]);
|
|
}
|
|
});
|
|
}
|
|
|
|
function getData(data)
|
|
{
|
|
var subList = data.districtList;
|
|
province=subList;
|
|
var level = data.level;
|
|
|
|
//清空下一级别的下拉列表
|
|
if (level === 'province') {
|
|
nextLevel = 'city';
|
|
$("#city").empty();
|
|
}
|
|
|
|
if (subList) {
|
|
var contentSub =new Option('请选择');
|
|
for (var i = 0, l = subList.length; i < l; i++) {
|
|
|
|
var name = subList[i].name;
|
|
var levelSub = subList[i].level;
|
|
var cityCode = subList[i].citycode;
|
|
if(i==0){
|
|
document.querySelector('#' + levelSub).add(contentSub);
|
|
}
|
|
contentSub=new Option(name);
|
|
contentSub.setAttribute("value", levelSub);
|
|
contentSub.center = subList[i].center;
|
|
contentSub.adcode = subList[i].adcode;
|
|
document.querySelector('#' + levelSub).add(contentSub);
|
|
|
|
}
|
|
if (provincename!="")
|
|
{
|
|
$("#province option").each(function (){
|
|
if($(this).text()==provincename){
|
|
$(this).attr('selected',true);
|
|
var checkIndex=$("#province").get(0).selectedIndex;
|
|
var obj = document.getElementById("province");
|
|
provincename="";
|
|
search(obj.options[checkIndex]);
|
|
}
|
|
});
|
|
}
|
|
if (provincename==""&&cityname!="")
|
|
{
|
|
$("#city option").each(function (){
|
|
if($(this).text()==cityname){
|
|
cityname="";
|
|
$(this).attr('selected',true);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
$("#province").change(function(){
|
|
var checkIndex=$("#province").get(0).selectedIndex;
|
|
search(this[checkIndex]);
|
|
});
|
|
}
|
|
|
|
function customProvince(_provincename,_cityname)
|
|
{
|
|
provincename=_provincename;
|
|
cityname=_cityname;
|
|
setDistrict();
|
|
}
|
|
|
|
function search(option)
|
|
{
|
|
//var option = obj[obj.options.selectedIndex];
|
|
var keyword = option.text; //关键字
|
|
var adcode = option.adcode;
|
|
|
|
district.setLevel(option.value); //行政区级别
|
|
district.setExtensions('all');
|
|
//行政区查询
|
|
//按照adcode进行查询可以保证数据返回的唯一性
|
|
district.search(adcode, function(status, result) {
|
|
if(status === 'complete'){
|
|
getData(result.districtList[0]);
|
|
}
|
|
});
|
|
|
|
} |