Ⅰ 誰能分享下省市區完整的json數據
剛好整理了一份,人肉各種導出 。gitHub地址:網頁鏈接
Ⅱ 省市縣 json 數據怎麼解析 成下拉框並且聯動的
<html>
<head>
<scriptlanguage="javascript"src="json.txt"></script>
<scripttype="text/javascript">
//varhtml=[{c:[{c:[{name:"縣",value:"000000"}],name:"市",value:"0000"}],name:"省",value:"00"},{c:[{c:[{name:"北京",value:"010100"},{name:"海淀",value:"010200"},{name:"朝陽",value:"010300"},{name:"順義",value:"010400"},{name:"懷柔",value:"010500"},{name:"通州",value:"010600"},{name:"昌平",value:"010700"},{name:"延慶",value:"010800"},{name:"豐台",value:"010900"},{name:"石景山",value:"011000"},{name:"大興",value:"011100"},{name:"房山",value:"011200"},{name:"密雲",value:"011300"},{name:"門頭溝",value:"011400"},{name:"平谷",value:"011500"},{name:"八達嶺",value:"011600"},{name:"佛爺頂",value:"011700"},{name:"湯河口",value:"011800"},{name:"密雲上甸子",value:"011900"},{name:"齋堂",value:"012000"},{name:"霞雲嶺",value:"012100"}],name:"北京",value:"0101"}],name:"北京",value:"01"},{c:[{c:[{name:"上海",value:"020100"},{name:"閔行",value:"020200"},{name:"寶山",value:"020300"},{name:"川沙",value:"020400"},{name:"嘉定",value:"020500"},{name:"南匯",value:"020600"},{name:"金山",value:"020700"},{name:"青浦",value:"020800"},{name:"松江",value:"020900"},{name:"奉賢",value:"021000"},{name:"崇明",value:"021100"},{name:"陳家鎮",value:"021200"},{name:"引水船",value:"021300"}],name:"上海",value:"0201"}],name:"上海",value:"02"}];
functioninit(){
document.write('省:<selectonchange="getListOne();"id="province">');
document.write('<optionvalue="">----請選擇----</option>');
for(vari=0;i<html.length;i++){
document.write('<optionvalue='+html[i].value+'>'+html[i].name+'</option>');
}
document.write('</select>');
document.write('市:<selectonchange="getListTwo();"id="town">');
document.write('<optionvalue="">----請選擇----</option></select>');
document.write('縣:<selectid="county">');
document.write('<optionvalue="">----請選擇----</option></select>');
}
functiongetListOne(){
varvalue=document.getElementById('province').value;
if(document.getElementById('town')!=null){
document.getElementById('town').length=1;//清空select,保留第一條
}
if(value!=""){
for(vari=0;i<html.length;i++){
if(html[i].value==value){
for(varj=0;j<html[i].c.length;j++){
varoption=document.createElement('option');
option.value=html[i].c[j].value;
option.text=html[i].c[j].name;
document.getElementById('town').options.add(option);
//document.write('<optionvalue='+html[i].c[j].value+'>'+html[i].c[j].name+'</option>');
}
}
}
}
}
functiongetListTwo(){
varvalue=document.getElementById('town').value;
if(document.getElementById('county')!=null){
document.getElementById('county').length=1;//清空select,保留第一條
}
if(value!=""){
for(vari=0;i<html.length;i++){
for(varj=0;j<html[i].c.length;j++){
if(html[i].c[j].value==value){
for(vark=0;k<html[i].c[j].c.length;k++){
varoption=document.createElement('option');
option.value=html[i].c[j].c[k].value;
option.text=html[i].c[j].c[k].name;
document.getElementById('county').options.add(option);
}
}
}
}
}
}
</script>
</head>
<bodyonload="init();">
</body>
</html>
Ⅲ 從後台返回來得是json類型的數據,日期的格式Date(1321922455000),我們如何將它轉換成:2011-2-1
var date = new Date(1321922455000)
document.write(date);
Ⅳ 把中國的省市區存成json格式用js怎麼讀取出來
把他轉換為對象字面量就可以
如果要兼容ie678
var obj=eval("("+'你的json+")");
不用兼容的話,下面這個更好
var obj=JSON.parse('你的json');
Ⅳ 請問用什麼方式可以實現省市級聯的效果呀 省市的數據是從資料庫中查出來的
做過省市縣三級聯動的,就是並排三個下拉列表,選擇省級,則市縣2級數據清空並重新載入數據,選擇市級,則縣級數據清空並重新載入數據,最後的縣級則是實際要保存的數據。
數據使用的是國家標准行政區劃代碼,保存為一個資料庫表中,我的數據涵蓋全國所有行政區劃(到區縣一級),大約3000多條,如下所示:
110000 北京市
110100 市轄區
110101 東城區
220000 吉林省
220100 長春市
220101 市轄區
220102 南關區
格式為[aabbcc],其中bbcc都為0則為省級aa下的各市,cc為0則為市級aabb下的區縣。
使用jquery的ajax方式從伺服器載入json數據,每次載入把省市縣三級的數據都載入進來。
當選擇了省級,ajax傳送編碼aa0000,返回數據中的省級數據始終列出各省數據;市級數據列出aabb00;縣級為空是因為還沒有選擇市級;
當選擇了市級,ajax傳送編碼aabb00,返回數據中的省級數據始終列出各省數據;市級數據列出aabb00;縣級列出aabbcc;
當選擇了縣級,就不用傳送ajax了,那就是我們想要的數據。
這思路是本人項目中實際使用的,效果很好,每次ajax從伺服器讀取的數據量很小因此響應很快。另外的思路是一次性把行政區劃數據都傳送到客戶端,在客戶端通過jquery解析處理,這也是我曾經考慮過的方法,處理要簡單的多,純數據要50k多,以數組格式大約需要60k的數據量,json格式估計100k以內,區域網肯定沒有問題,以目前的網速也可以用在互聯網上,但多少還是要影響性能的。
Ⅵ 誰會echarts實現地圖省市縣的鑽取分別單獨顯示
根據選擇的地區去載入地圖數據然後給chart.setOption(); 改變紅色耐芹字體的值就可以,紅色字體是省跡畝告的拼音具體查看echarts/map文件姿明夾內文件,有js載入方式和json載入方式
$.get('map/json/china.json', function (chinaJson) {
echarts.registerMap('china', chinaJson);
var chart = echarts.init(document.getElementById('main'));
chart.setOption({
series: [{
type: 'map',
map: 'china'
}]
});
});
Ⅶ 百度地圖api如何根據城市名或經緯度獲取當前城市東西經南北緯范圍 js
Geocoding API包括地址解析和逆地址解析功能。
地址解析是指,由詳細到街道的結構化地址得到網路經緯度信息,且支持名勝古跡、標志性建築名稱直接解析返回網路經緯度。例如:「北京市海淀區中關村南大街27號」地址解析的結果是「lng:116.31985,lat:39.959836」,「網路大廈」地址解析的結果是「lng:116.30815,lat:40.056885」
逆地址解析是指,由網路經緯度信息得到結構化地址信息。例如:「lat:31.325152,lng:120.558957」逆地址解析的結果是「江蘇省蘇州市虎丘區塔園路318號」。注意:
1.因為Geocoding和反Geocoding使用的門址數據以及演算法都不是一樣的,所以會出現不能一一對應的現象。
2.解析過程中可能會出現一對坐標值對應多個地址門牌信息,本介面將返回距離坐標點最近的一個地址門牌信息。
使用限制
目前無任何使用限制。請申請key,然後使用該介面。
如何使用
第一步,申請key,點擊這里獲取密鑰,申請key需要注冊網路賬號;
第二步,拼寫發送http請求的url,注意需使用第一步申請的key;
第三步,接收http請求返回的數據(支持json和xml格式)。
服務地址
地址解析:根據地址獲取坐標
http://api.map..com/geocoder?address=地址&output=輸出格式類型&key=用戶密鑰&city=城市名
逆地址解析:根據坐標獲取地址
http://api.map..com/geocoder?location=緯度,經度&output=輸出格式類型&key=用戶密鑰
備註:
1. city屬於可選參數,通常情況可以不使用,若解析無結果,請嘗試增加此欄位。
2. 支持名勝古跡、標志性建築物名稱解析返回網路經緯度坐標,如address=「網路大廈」。
3. 支持使用「*路與*路交叉口」方式解析返回網路經緯度坐標,若地址庫中存在該地址描述,返回網路經緯度坐標。
4. 若解析status欄位為OK,若結果內容為空,原因分析及可嘗試方法:
地址庫里無此數據,本次結果為空。
加入city欄位重新解析;
將過於詳細或簡單的地址更改至省市區縣街道重新解析;
5. 特別提醒:逆地址解析location參數傳入的參數格式是(緯度lat,經度lng)。
介面參數
參數 是否必須 默認值 格式舉例 含義
output 否 json json或xml 輸出格式為json或者xml
address 是 無 北京市海淀區上地十街10號 根據指定地址進行坐標的反定向解析
location 是 無 38.76623,116.43213
lat<緯度>,lng<經度> 根據指定坐標來進行地址的解析
city 否 「北京市」 「廣州市」 地址所在的城市名
key 是 無 用戶申請注冊的key
上表中address和location兩個欄位如果同時出現,則優先選擇address執行地理編碼功能。對於address欄位可能會出現中文或其它一些特殊字元(如:空格),所以對於類似的字元都要進行編碼處理,編碼成 UTF-8 字元的二字元十六進制值,凡是不在下表中的字元都要進行編碼。
字元集合 字元
URL非保留字 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 – _ . ~
URL保留字 ! * 『 ( ) ; : @ & = + $ , / ? % # [ ]
附註:
(1) javascript中一般採用encodeURIComponent函數對特殊字元進行編碼。
(2) Java中可以使用函數URLEncoder.encode對特殊字元進行編碼。
(3) C#中可以使用函數HttpUtility.UrlEncode對特殊字元進行編碼。
(4) php中可以使用函數urlencode對特殊字元進行編碼。
返回數據說明
返回結果(地址解析的結果)
{status: '字元串狀態常量', 取值如下:
//OK 成功
INVILID_KEY 非法密鑰
INVALID_PARAMETERS 非法參數,參數錯誤時候給出。
result: {
location: {
lat: 緯度:數值,
lng: 經度:數值
},
precise:』位置的附加信息,是否精確查找』(1為精確查找,0為不精確查找),
confidence: 可信度,
level:'級別'
},
}
返回結果(反地址解析的結果)
{status: '字元串狀態常量', 取值如下:
//OK 成功
INVILID_KEY 非法密鑰
INVALID_PARAMETERS 非法參數,參數錯誤時候給出。
result: {
location: {
lat: 緯度:數值,
lng: 經度:數值
},
formatted_address: 『詳細地址描述』,
business: '周圍商圈',
addressComponent:{
city:』城市名稱』,
district: 『區縣名稱』,
province:』省份名稱』,
street: 『街道名稱』,
streetNumber: '門牌號碼'
},
cityCode: '城市代碼'
}
}
介面示例
根據詳細地址獲取坐標
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=json&key=
//根據「上地十街10號」返回坐標「lng:116.307175, lat:40.057098」,以json格式輸出
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=xml&key=
//根據「上地十街十號」返回坐標「lng:116.307175, lat:40.057098」,以xml格式輸出
在指定城市內檢索詳細地址的坐標
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=json&key=&city=%E5%8C%97%E4%BA%AC%E5%B8%82
// 在北京市內根據「上地十街10號」返回坐標「lng:116.307175, lat:40.057098」,以json格式輸出
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=xml&key=&city=%E5%8C%97%E4%BA%AC%E5%B8%82
// 在北京市內根據「上地十街10號」返回坐標「lng:116.307175, lat:40.057098」,以json格式輸出
根據特定建築物獲取它的坐標
http://api.map..com/geocoder?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=json&key= //根據「網路大廈」名稱返回坐標「lng:116.307175, lat:40.057098」,以json格式輸入
http://api.map..com/geocoder?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=xml&key= //根據「網路大廈」名稱返回坐標「lng:116.307175, lat:40.057098」,以xml格式輸入
根據「*路與*路交叉路口」類型地址描述獲得它的坐標
http://api.map..com/geocoder?address=%E5%8C%97%E4%B8%80%E7%8E%AF%E8%B7%AF%E5%92%8C%E9%98%9C%E9%98%B3%E8%B7%AF%E7%9A%84%E4%BA%A4%E5%8F%89%E8%B7%AF%E5%8F%A3&output=json&key=
//根據「北一環路和阜陽路的交叉路口」名稱返回坐標「lng:117.294364, lat:31.885558」,以json格式輸入
http://api.map..com/geocoder?address=%E5%8C%97%E4%B8%80%E7%8E%AF%E8%B7%AF%E5%92%8C%E9%98%9C%E9%98%B3%E8%B7%AF%E7%9A%84%E4%BA%A4%E5%8F%89%E8%B7%AF%E5%8F%A3&output=xml&key=
//根據「北一環路和阜陽路的交叉路口」名稱返回坐標「lng:117.294364, lat:31.885558」,以xml格式輸入
根據坐標獲取它的地址
http://api.map..com/geocoder?output=json&location=39.983424,%20116.322987&key=
//解析「lat:39.983424, lng:116.322987」坐標返回「北京市海淀區中關村大街27號1101-08室」,以json格式輸出
http://api.map..com/geocoder?output=xml&location=39.983424,%20116.322987&key=
//解析「lat:39.983424, lng:116.322987」坐標返回「北京市海淀區中關村大街27號1101-08室」,以xml格式輸出
網路地址http://developer..com/map/geocoding-api.htm
Ⅷ ajax 省市區多級聯動(在struts2中),有人能做出個簡單的嗎
多級聯動實現:
<form action="http://www.sharejs.com" method=post name="creator" enctype="multipart/form-data">
<script language="javascript">
<!--
var where = new Array(35);
function comefrom(loca,locacity) { this.loca = loca; this.locacity = locacity; }
where[0]= new comefrom("請選擇省份名","請選擇城市名");
where[1] = new comefrom("北京","|東城|西城|崇文|宣武|朝陽|豐台|石景山|海淀|門頭溝|房山|通州|順義|昌平|大興|平谷|懷柔|密雲|延慶");
where[2] = new comefrom("上海","|黃浦|盧灣|徐匯|長寧|靜安|普陀|閘北|虹口|楊浦|閔行|寶山|嘉定|浦東|金山|松江|青浦|南匯|奉賢|崇明");
where[3] = new comefrom("天津","|和平|東麗|河東|西青|河西|津南|南開|北辰|河北|武清|紅撟|塘沽|漢沽|大港|寧河|靜海|寶坻|薊縣");
where[4] = new comefrom("重慶","|萬州|涪陵|渝中|大渡口|江北|沙坪壩|九龍坡|南岸|北碚|萬盛|雙撟|渝北|巴南|黔江|長壽|綦江|潼南|銅梁|大足|榮昌|壁山|梁平|城口|豐都|墊江|武隆|忠縣|開縣|雲陽|奉節|巫山|巫溪|石柱|秀山|酉陽|彭水|江津|合川|永川|南川");
where[5] = new comefrom("河北","|石家莊|邯鄲|邢台|保定|張家口|承德|廊坊|唐山|秦皇島|滄州|衡水");
where[6] = new comefrom("山西","|太原|大同|陽泉|長治|晉城|朔州|呂梁|忻州|晉中|臨汾|運城");
where[7] = new comefrom("內蒙古","|呼和浩特|包頭|烏海|赤峰|呼倫貝爾盟|阿拉善盟|哲里木盟|興安盟|烏蘭察布盟|錫林郭勒盟|巴彥淖爾盟|伊克昭盟");
where[8] = new comefrom("遼寧","|沈陽|大連|鞍山|撫順|本溪|丹東|錦州|營口|阜新|遼陽|盤錦|鐵嶺|朝陽|葫蘆島");
where[9] = new comefrom("吉林","|長春|吉林|四平|遼源|通化|白山|松原|白城|延邊");
where[10] = new comefrom("黑龍江","|哈爾濱|齊齊哈爾|牡丹江|佳木斯|大慶|綏化|鶴崗|雞西|黑河|雙鴨山|伊春|七台河|大興安嶺");
where[11] = new comefrom("江蘇","|南京|鎮江|蘇州|南通|揚州|鹽城|徐州|連雲港|常州|無錫|宿遷|泰州|淮安");
where[12] = new comefrom("浙江","|杭州|寧波|溫州|嘉興|湖州|紹興|金華|衢州|舟山|台州|麗水");
where[13] = new comefrom("安徽","|合肥|蕪湖|蚌埠|馬鞍山|淮北|銅陵|安慶|黃山|滁州|宿州|池州|淮南|巢湖|阜陽|六安|宣城|亳州");
where[14] = new comefrom("福建","|福州|廈門|莆田|三明|泉州|漳州|南平|龍岩|寧德");
where[15] = new comefrom("江西","|南昌市|景德鎮|九江|鷹潭|萍鄉|新餘|贛州|吉安|宜春|撫州|上饒");
where[16] = new comefrom("山東","|濟南|青島|淄博|棗庄|東營|煙台|濰坊|濟寧|泰安|威海|日照|萊蕪|臨沂|德州|聊城|濱州|菏澤");
where[17] = new comefrom("河南","|鄭州|開封|洛陽|平頂山|安陽|鶴壁|新鄉|焦作|濮陽|許昌|漯河|三門峽|南陽|商丘|信陽|周口|駐馬店|濟源");
where[18] = new comefrom("湖北","|武漢|宜昌|荊州|襄樊|黃石|荊門|黃岡|十堰|恩施|潛江|天門|仙桃|隨州|咸寧|孝感|鄂州");
where[19] = new comefrom("湖南","|長沙|常德|株洲|湘潭|衡陽|岳陽|邵陽|益陽|婁底|懷化|郴州|永州|湘西|張家界");
where[20] = new comefrom("廣東","|廣州|深圳|珠海|汕頭|東莞|中山|佛山|韶關|江門|湛江|茂名|肇慶|惠州|梅州|汕尾|河源|陽江|清遠|潮州|揭陽|雲浮");
where[21] = new comefrom("廣西","|南寧|柳州|桂林|梧州|北海|防城港|欽州|貴港|玉林|南寧地區|柳州地區|賀州|百色|河池");
where[22] = new comefrom("海南","|海口|三亞");
where[23] = new comefrom("四川","|成都|綿陽|德陽|自貢|攀枝花|廣元|內江|樂山|南充|宜賓|廣安|達川|雅安|眉山|甘孜|涼山|瀘州");
where[24] = new comefrom("貴州","|貴陽|六盤水|遵義|安順|銅仁|黔西南|畢節|黔東南|黔南");
where[25] = new comefrom("雲南","|昆明|大理|曲靖|玉溪|昭通|楚雄|紅河|文山|思茅|西雙版納|保山|德宏|麗江|怒江|迪慶|臨滄");
where[26] = new comefrom("西藏","|拉薩|日喀則|山南|林芝|昌都|阿里|那曲");
where[27] = new comefrom("陝西","|西安|寶雞|咸陽|銅川|渭南|延安|榆林|漢中|安康|商洛");
where[28] = new comefrom("甘肅","|蘭州|嘉峪關|金昌|白銀|天水|酒泉|張掖|武威|定西|隴南|平涼|慶陽|臨夏|甘南");
where[29] = new comefrom("寧夏","|銀川|石嘴山|吳忠|固原");
where[30] = new comefrom("青海","|西寧|海東|海南|海北|黃南|玉樹|果洛|海西");
where[31] = new comefrom("新疆","|烏魯木齊|石河子|克拉瑪依|伊犁|巴音郭勒|昌吉|克孜勒蘇柯爾克孜|博爾塔拉|吐魯番|哈密|喀什|和田|阿克蘇");
where[32] = new comefrom("香港","");
where[33] = new comefrom("澳門","");
where[34] = new comefrom("台灣","|台北|高雄|台中|台南|屏東|南投|雲林|新竹|彰化|苗栗|嘉義|花蓮|桃園|宜蘭|基隆|台東|金門|馬祖|澎湖");
where[35] = new comefrom("其它","|北美洲|南美洲|亞洲|非洲|歐洲|大洋洲");
function select() {
with(document.creator.province) { var loca2 = options[selectedIndex].value; }
for(i = 0;i < where.length;i ++) {
if (where[i].loca == loca2) {
loca3 = (where[i].locacity).split("|");
for(j = 0;j < loca3.length;j++) { with(document.creator.city) { length = loca3.length; options[j].text = loca3[j]; options[j].value = loca3[j]; var loca4=options[selectedIndex].value;}}
break;
}}
document.creator.newlocation.value=loca2+loca4;
}
function init() {
with(document.creator.province) {
length = where.length;
for(k=0;k<where.length;k++) { options[k].text = where[k].loca; options[k].value = where[k].loca; }
options[selectedIndex].text = where[0].loca; options[selectedIndex].value = where[0].loca;
}
with(document.creator.city) {
loca3 = (where[0].locacity).split("|");
length = loca3.length;
for(l=0;l<length;l++) { options[l].text = loca3[l]; options[l].value = loca3[l]; }
options[selectedIndex].text = loca3[0]; options[selectedIndex].value = loca3[0];
}}
-->
</script>
<body onload="init()">
<font color=#000000><b>來自:</b>
請輸入您所在國家的具體地方。此項可選
省份 <select name="province" onChange = "select()"></select>城市 <select name="city" onChange = "select()"> </select>
我在 <input type=text name="newlocation" maxlength=12 size=12 style="font-weight: bold">不能超過12個字元(6個漢字)
</form>
Ⅸ 怎樣用js實現省市聯動,數據是從資料庫讀取 謝謝了
省市聯動,要去讀資料庫就慢了點,而且用的資源也多
由於省市數據是固定的,通常,我專會獨立定義一個js文件屬,裡面是一個json數據,分級存儲省市數據,每個地區都有一個六位的代碼,就是你身份證的前六位,那是精確到縣級的~
當然,如果你只需要到地級市,那就弄兩級的就行啦
js讀取js,是很快的~
Ⅹ 利用json判斷輸入的省市區是否正確
打開定位輸入省事用利用這個判斷定位,嗯,還行,但是不準確。