var map, district, polygons = [], citycode; var citySelect = document.getElementById('city'); var province=null; var func=null; var provincename=""; var cityname=""; function setDistrict() { $("#city").append(''); //行政区划查询 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]); } }); }