最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在SpringBoot中使用UniHttp簡化天地圖路徑規(guī)劃調(diào)用實踐記錄(場景分析)

 更新時間:2025年02月18日 10:47:02   作者:夜郎king  
本文介紹了如何在SpringBoot項目中使用UniHttp簡化天地圖路徑規(guī)劃接口的調(diào)用,通過一個具體的例子展示了如何根據(jù)中文地址獲取經(jīng)緯度坐標(biāo),并使用UniHttp調(diào)用天地圖路徑規(guī)劃服務(wù),感興趣的朋友一起看看吧

前言

        在當(dāng)今數(shù)字化飛速發(fā)展的時代,地理信息系統(tǒng)(GIS)技術(shù)在眾多領(lǐng)域發(fā)揮著至關(guān)重要的作用。從城市規(guī)劃、交通管理到物流配送、出行導(dǎo)航,路徑規(guī)劃作為 GIS 的核心功能之一,其重要性不言而喻。天地圖作為我國權(quán)威的地理信息公共服務(wù)平臺,提供了豐富且精準(zhǔn)的地理數(shù)據(jù)和強(qiáng)大的路徑規(guī)劃接口,為開發(fā)者們帶來了極大的便利。在今天交通環(huán)境非常豐富的場景下,我們大家都是交通的密切參與者,而路徑規(guī)劃和導(dǎo)航應(yīng)該是大家平時用得非常多的一個應(yīng)用。比如高德、百度等互聯(lián)網(wǎng)平臺。下圖是從百度地圖截取的從長沙黃花國際機(jī)場到橘子洲景區(qū)的駕車路徑規(guī)劃信息,如下圖所示:

        通過導(dǎo)航的規(guī)劃,很輕松的就可以掌握如何快速便捷的到達(dá)目的地。 然而,在實際的項目開發(fā)中,尤其是在基于 Spring Boot 框架的應(yīng)用里,直接調(diào)用相關(guān)互聯(lián)網(wǎng)服務(wù)的路徑規(guī)劃接口往往面臨著諸多挑戰(zhàn)。接口的調(diào)用涉及到復(fù)雜的參數(shù)配置、身份認(rèn)證以及數(shù)據(jù)格式的處理,這使得開發(fā)人員需要花費(fèi)大量的時間和精力去研究和理解接口文檔,編寫繁瑣的代碼來實現(xiàn)與服務(wù)接口的交互。對于一些對地理信息系統(tǒng)不太熟悉的開發(fā)人員來說,這無疑增加了項目的開發(fā)難度和周期。

        在這樣的背景下,UniHttp 應(yīng)運(yùn)而生。UniHttp 是一款優(yōu)秀的 HTTP 客戶端工具,它以其簡潔易用的 API 設(shè)計和強(qiáng)大的功能特性,為開發(fā)者們提供了一種更加高效、便捷的方式來處理 HTTP 請求。在 Spring Boot 項目中引入 UniHttp,可以極大地簡化與路徑規(guī)劃接口的調(diào)用過程。通過使用 UniHttp,開發(fā)人員可以輕松地構(gòu)建符合要求的 HTTP 請求,無需再糾結(jié)于底層的連接管理、請求頭設(shè)置以及參數(shù)編碼等細(xì)節(jié)問題。UniHttp 提供了直觀的接口,讓開發(fā)者能夠以一種聲明式的方式快速生成請求,同時它還具備良好的錯誤處理機(jī)制,能夠及時捕獲并反饋接口調(diào)用過程中出現(xiàn)的問題,方便開發(fā)人員進(jìn)行調(diào)試和排查。

        在本次技術(shù)博客中,我們將深入探討如何在 Spring Boot 項目中利用 UniHttp 來簡化天地圖路徑規(guī)劃的調(diào)用實踐。從項目的初始搭建,到 UniHttp 的集成配置,再到具體的天地圖路徑規(guī)劃接口調(diào)用代碼示例,以及對調(diào)用結(jié)果的解析和處理,我們都將進(jìn)行詳細(xì)的講解和分析。希望通過本次分享,能夠為廣大開發(fā)人員提供一種更加高效、可靠的天地圖路徑規(guī)劃調(diào)用解決方案,讓大家在項目開發(fā)中能夠更加輕松地應(yīng)對地理信息相關(guān)的功能需求,提升項目的開發(fā)效率和質(zhì)量,為推動地理信息系統(tǒng)技術(shù)在更多領(lǐng)域的應(yīng)用貢獻(xiàn)一份力量。

一、天地圖路徑規(guī)劃簡介

        天地圖作為一款在線的免費(fèi)地圖服務(wù)方,上面有很多的資源可以使用。如果是在線應(yīng)用,大家可以直接使用來輔助自己的業(yè)務(wù)系統(tǒng),提高產(chǎn)品研發(fā)的效率,降低空間技術(shù)開發(fā)的難度。比如本文提到的路徑規(guī)劃的服務(wù)。當(dāng)然,基于在線模式的路徑規(guī)劃服務(wù),有常見的百度、高德、騰訊地圖等,還有我們的天地圖,這里的地圖數(shù)據(jù)是符合相關(guān)標(biāo)準(zhǔn)的,是規(guī)范的地圖。因此大家可以放心使用,當(dāng)然為了保證一些服務(wù)的可用,在調(diào)用相關(guān)的接口之前,需要進(jìn)行開發(fā)者認(rèn)證,其實也很簡單,只要到官方網(wǎng)站上進(jìn)行注冊即可,在之前的博文中有一定講解,在此不贅述。

1、天地圖相關(guān)服務(wù)

        天地圖的API主要包含以下四類,如下圖所示:

        天地圖的API服務(wù)主要包含四大類 :1、地圖API,2、Web端開發(fā),3、WEB服務(wù)API,4、數(shù)據(jù)API。 其中地圖API主要是提供相關(guān)的底圖服務(wù),比如矢量底圖、影像底圖和它對應(yīng)的注記地圖。Web端API主要是提供前端的接口支持,提供Javascript3.0和4.0的相關(guān)操作接口。Web服務(wù)API主要是提供服務(wù)接口,不僅可以直接為前端請求,也可以為后臺服務(wù)提供服務(wù),可以無縫對接Java、Python、C#等多種語言。最后的數(shù)據(jù)API用得比較少,這里的服務(wù)暫時訪問不了。之前咨詢了官方技術(shù)人員,大家需要的可以自行去數(shù)據(jù)資源中下載即可。

2、天地圖路徑規(guī)劃接口

        首先不得不吐槽一下天地圖的一些錯誤,在接口的說明上沒有維護(hù)好元數(shù)據(jù)。比如下圖中的公交規(guī)劃和駕車規(guī)劃,雖然是兩個接口,但是關(guān)于接口的說明卻不明確。

        上圖是公交規(guī)劃的接口簡介。下圖是實際的駕車規(guī)劃接口:

         小瑕疵,還是期望有相關(guān)人員及時更新,畢竟是一個面向大眾的互聯(lián)網(wǎng)應(yīng)用。下面以駕車路徑規(guī)劃為例,重點說說在天地圖中的接口請求參數(shù)以及響應(yīng)參數(shù)信息,這里幫大家整理好了,當(dāng)然也可以到天地圖的官網(wǎng)中查看相關(guān)說明。

駕車服務(wù)簡介:

駕車服務(wù)API是一類簡單的HTTP/HTTPS接口,根據(jù)輸入起點、終點和途經(jīng)點規(guī)劃查詢駕車路線。根據(jù)輸入的起點、終點和途徑點規(guī)劃查詢駕車路線。除了輸入起始點,天地圖還有一個非常實用的功能,就是添加途經(jīng)點,它可以輔助我們進(jìn)行更復(fù)雜的規(guī)劃。

參數(shù)參數(shù)說明參數(shù)類型返回條件備注
origstring起點經(jīng)緯度-180,-90,180,90。
deststring終點經(jīng)緯度-180,-90,180,90。
midstring途徑點經(jīng)緯度字符串途徑點字符串格式:116.35506,39.92277;116.35506,39.92277兩個坐標(biāo)之間以分號隔開,坐標(biāo)xy之間用逗號隔開(都是半角)。
stylestring導(dǎo)航路線類型默認(rèn)0 (0:最快路線,1:最短路線,2:避開高速,3:步行)0-3。

         以下是服務(wù)請求示例:

根據(jù)起點、終點經(jīng)緯度字符串查詢導(dǎo)航信息:http://api.tianditu.gov.cn/drive?postStr={"orig":"116.35506,39.92277","dest":"116.39751,39.90854","style":"0"}&type=search&tk=您的密鑰
加入途徑點的導(dǎo)航查詢:http://api.tianditu.gov.cn/drive?postStr={"orig":"116.35506,39.92277","dest":"116.39751,39.90854","mid":"116.36506,39.91277;116.37506,39.92077","style":"0"}&type=search&tk=您的密鑰

        接下來是響應(yīng)參數(shù),這里也要提一下,天地圖的響應(yīng)參數(shù)格式xml,沒錯,它不是采用json的格式。這里也可以請官方的人士調(diào)整一下,畢竟目前很多接口的響應(yīng)格式都是用的json。xml用的還是少了些。相應(yīng)參數(shù)如下:

<?xml version="1.0" encoding="UTF-8" ?>
<result orig='起點經(jīng)緯度' mid='途徑點信息' dest='終點經(jīng)緯度'>
    <parameters>
        <orig>起點加密經(jīng)緯度</orig>
        <dest>終點加密經(jīng)緯度</dest>
        <mid>途徑點加密經(jīng)緯度集合</mid>
        <key>經(jīng)緯度加密的 key 值</key>
        <width>地圖寬度</width>
        <height>地圖高度</height>
        <style>導(dǎo)航路線類型</style>
        <version>版本控制</version>
        <sort>排序方式</sort>
    </parameters>
    <routes count='分段總數(shù)' time='查詢時間'>
        <item id='0'>
            <strguide>每段線路文字描述</strguide>
            <signage>“路牌”引導(dǎo)提示/高速路收費(fèi)站出口信息</signage>
            <streetName>當(dāng)前路段名稱</streetName>
            <nextStreetName>下一段道路名稱</nextStreetName>
            <tollStatus>道路收費(fèi)信息(0=免費(fèi)路段,1=收費(fèi)路段,2=部分收費(fèi)路段)</tollStatus>
            <turnlatlon>轉(zhuǎn)折點經(jīng)緯度</turnlatlon>
        </item>
        <item id='1'>
            ....
        </item>
        ....其他分段線路信息
    </routes>
    <simple>
        <item id='0'>
            <strguide>每段線路文字描述</strguide>
            <streetNames>當(dāng)前行駛路段名稱(含多個路段)</streetNames>
            <lastStreetName>最后一段道路名稱</lastStreetName>
            <linkStreetName>合并段之間銜接的道路名稱</linkStreetName>
            <signage>“路牌”引導(dǎo)提示/高速路收費(fèi)站出口信息</signage>
            <tollStatus>道路收費(fèi)信息(0=免費(fèi)路段,1=收費(fèi)路段,2=部分收費(fèi)路段)</tollStatus>
            <turnlatlon>轉(zhuǎn)折點經(jīng)緯度</turnlatlon>
            <streetLatLon>線路經(jīng)緯度</streetLatLon>
            <streetDistance>行駛總距離(單位:米)</streetDistance>
            <segmentNumber>合并后的號段,對應(yīng)詳細(xì)描述中的號段</segmentNumber>
        </item>
        <item id='1'>
            ....
        </item>
        ....其他分段線路信息
    </simple>
    <distance>全長(單位:公里)</distance>
    <duration>行駛總時間(單位:秒)</duration>
    <routelatlon>線路經(jīng)緯度字符串</routelatlon>
    <mapinfo>
        <center>全部結(jié)果同時顯示的適宜中心經(jīng)緯度</center>
        <scale>全部結(jié)果同時顯示的適宜縮放比例</scale>
    </mapinfo>
</result>

         以上就是天地圖的駕車規(guī)劃接口詳情介紹,希望大家可以熟悉接口的入?yún)⒑晚憫?yīng)參數(shù)。在后續(xù)的接口調(diào)用介紹中會使用到。

二、UniHttp簡介

        從企業(yè)級項目來說,傳統(tǒng)的接口訪問我們會使用編程式Http客戶端比如HttpClient、Okhttp去直接對接第三方Http接口, 那么項目一定充斥著大量的對接邏輯和代碼。本節(jié)將重點講解Unihttp的相關(guān)知識,可以通過uniHttp來簡化http接口的調(diào)用。

1、UniHttp是什么?

        UniHttp是一個聲明式的Http請求對接框架,能以極快的方式完成對一個第三方Http接口的對接和使用,只要配置一下即可重復(fù)使用, 不需要開發(fā)者去關(guān)注如何發(fā)送一個請求,如何去傳遞Http請求參數(shù),以及如何對請求結(jié)果進(jìn)行處理和反序列化,這些框架都幫你一一實現(xiàn) 就像配置 Spring的Controller 那樣簡單,只不過相當(dāng)于是反向配置而已。該框架更注重于如何保持高內(nèi)聚和可讀性高的代碼情況下與快速第三方渠道接口進(jìn)行對接和集合, 而非像傳統(tǒng)編程式的Http請求客戶端(比如HttpClient、Okhttp)那樣專注于如何去發(fā)送和響應(yīng)一個Http請求,二者并不沖突只是注重點不一樣,UniHttp 目前底層也是用的Okhttp去發(fā)送請求。 與其說的是對接的Http接口,不如說是對接的第三方渠道,UniHttp可支持自定義接口渠道方HttpAPI注解以及一些自定義的對接和交互行為 ,為此擴(kuò)展了發(fā)送和響應(yīng)和反序列化一個Http請求接口的各種生命周期鉤子需要開發(fā)者去自定義實現(xiàn)。

        這里只對其做一個簡單介紹,關(guān)于其強(qiáng)大的方法,在后續(xù)的內(nèi)容中結(jié)合相關(guān)案例進(jìn)行介紹。

2、UniHttp能做什么?

        首先來看一下UniHttp的官方API文檔,如下所示:

         官方api手冊的地址是:UniHttp文檔。如何在Java環(huán)境中集成上述組件有詳細(xì)的說明。在Springboot中引入UniHttp的Maven聲明如下所示,這里我們使用的版本是0.0.8: 

<!--  增加uniapi-http add by 夜郎king in 2025.02.14 begin -->
<dependency>
	<groupId>io.github.burukeyou</groupId>
	<artifactId>uniapi-http</artifactId>
	<version>0.0.8</version>
</dependency>
<!--  增加uniapi-http add by 夜郎king in 2025.02.14 end -->

三、UniHttp調(diào)用天地圖接口

1、請求接口的定義

        在SpringBoot中定義相關(guān)接口的代理類,這個比較簡單,直接創(chuàng)建一個接口即可,為了演示方便,這里定義了天地圖中的兩個地址,一個是地理名稱檢索以及駕車路徑規(guī)劃調(diào)用。具體Java接口方法如下:

package com.yelang.project.thridinterface;
import com.burukeyou.uniapi.http.annotation.HttpApi;
import com.burukeyou.uniapi.http.annotation.param.QueryPar;
import com.burukeyou.uniapi.http.annotation.request.GetHttpInterface;
import com.burukeyou.uniapi.http.core.response.HttpResponse;
@HttpApi(url = "http://api.tianditu.gov.cn/")
public interface ITdtOptionService {
	@GetHttpInterface("geocoder")
	HttpResponse<String> getGeocoder(@QueryPar("ds") String ds,@QueryPar("tk") String tk);
	@GetHttpInterface("drive")
	HttpResponse<String> drivePlan(@QueryPar("postStr") String postStr,@QueryPar("type") String type,@QueryPar("tk") String tk);
}

2、實際調(diào)用

        為了演示方便,這里以Junit為例,重點講解如何在SprintBoot環(huán)境中進(jìn)行集成和調(diào)用。代碼如下(請注意,下面代碼中的key需要大家到天地圖中去申請才能看到結(jié)果):

package com.yelang.project.unihttp;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import com.burukeyou.uniapi.annotation.UniAPIScan;
import com.burukeyou.uniapi.http.core.response.HttpResponse;
import com.yelang.project.thridinterface.ITdtOptionService;
@SpringBootTest
@RunWith(SpringRunner.class)
@UniAPIScan("com.yelang.project.thridinterface") // 指定@HttpApi接口所在的包路徑
public class TdtUniHttpCase {
	//服務(wù)端訪問key
	//private static final String TDT_BROWSE_KEY = "xxx";
    private static final String TDT_SERVER_KEY = "xxx";
	@Autowired
	private ITdtOptionService tdtOptService;
	@Test
	public void testGeocoder() {
		String target = "北京市延慶區(qū)延慶鎮(zhèn)蓮花池村前街50夕陽紅養(yǎng)老院";
		String keyWord = "%7B'keyWord':'" + target + "'%7D" ;
		HttpResponse<String> resp = tdtOptService.getGeocoder(keyWord, TDT_SERVER_KEY);
		System.out.println(resp.getBodyResult());
	}
	@Test
	public void testDrivePlan() {
		String origInfo = "113.216171,28.190967";//黃花國際機(jī)場
		String destInfo = "112.957124,28.198626";//橘子洲景區(qū)
		// style 默認(rèn)0 (0:最快路線,1:最短路線,2:避開高速,3:步行)
		// 這里選擇避開高速
		String postStr = "%7B'orig':'" + origInfo + "','dest':'" + destInfo + "','style':'2'%7D" ;
		HttpResponse<String> resp = tdtOptService.drivePlan(postStr,"search",TDT_SERVER_KEY);
		System.out.println(resp.getBodyResult());
	}
}

        在第二個駕車的規(guī)劃中,在參數(shù)中需要傳的經(jīng)緯度位置,而日常生活中,我們通常拿到的都是地址信息,因此還需要一個根據(jù)中文名稱找它的對應(yīng)經(jīng)緯度位置的過程。當(dāng)然我們也可以直接調(diào)用天地圖的服務(wù)來實現(xiàn)。這里假設(shè)已經(jīng)成功的獲取起始點和目標(biāo)點的經(jīng)緯度坐標(biāo)。

3、相應(yīng)結(jié)果展示

        上面的起始點和目標(biāo)點分別是:長沙黃花機(jī)場和橘子洲風(fēng)景區(qū)。將兩者作為導(dǎo)航的起始點輸入,默認(rèn)選用避開高速的方式(最小成本的模式),最后得到的響應(yīng)結(jié)果如下:

         我們將得到的響應(yīng)結(jié)果格式化之后可以看到以下的信息:

        基本上可以跟導(dǎo)航軟件上實現(xiàn)的結(jié)果是一致的,由此可以得到具體路徑規(guī)劃信息。 通過這個實驗表明,通過天地圖的駕車路徑規(guī)劃服務(wù)可以得到滿足我們?nèi)粘J褂玫囊恍┙涌?。后續(xù)大家可以基于這種方法進(jìn)行業(yè)務(wù)開發(fā)。當(dāng)然,前提是一定要去注冊天地圖的開發(fā)者才可以調(diào)用相關(guān)服務(wù)。

四、總結(jié)

        以上就是本文的主要內(nèi)容,在本次技術(shù)博客中,我們將深入探討如何在 Spring Boot 項目中利用 UniHttp 來簡化天地圖路徑規(guī)劃的調(diào)用實踐。從項目的初始搭建,到 UniHttp 的集成配置,再到具體的天地圖路徑規(guī)劃接口調(diào)用代碼示例,以及對調(diào)用結(jié)果的解析和處理,我們都將進(jìn)行詳細(xì)的講解和分析。希望通過本次分享,能夠為廣大開發(fā)人員提供一種更加高效、可靠的天地圖路徑規(guī)劃調(diào)用解決方案,讓大家在項目開發(fā)中能夠更加輕松地應(yīng)對地理信息相關(guān)的功能需求,提升項目的開發(fā)效率和質(zhì)量,為推動地理信息系統(tǒng)技術(shù)在更多領(lǐng)域的應(yīng)用貢獻(xiàn)一份力量。行文倉促,難免有許多不足之處,如有不足,在此懇請各位專家博主在評論區(qū)不吝留言指出,不勝感激。

        參考內(nèi)容:

        1、HTTP客戶端框架之UniHttp講解。

        2、天地圖駕車服務(wù)API。

到此這篇關(guān)于在SpringBoot中使用UniHttp簡化天地圖路徑規(guī)劃調(diào)用實踐的文章就介紹到這了,更多相關(guān)SpringBoot UniHttp天地圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 輕松掌握J(rèn)ava建造者模式

    輕松掌握J(rèn)ava建造者模式

    這篇文章主要幫助大家輕松掌握J(rèn)ava建造者模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java方法調(diào)用時長與字符串操作的性能詳解

    Java方法調(diào)用時長與字符串操作的性能詳解

    本文將深入探討 Java 中的性能優(yōu)化,重點關(guān)注方法調(diào)用時長和字符串操作性能,通過實際案例和代碼示例,幫助讀者理解和應(yīng)用這些優(yōu)化技巧,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • spring boot ajax跨域的兩種方式

    spring boot ajax跨域的兩種方式

    java語言在多數(shù)時,會作為一個后端語言,為前端的php,node.js等提供API接口。這篇文章主要介紹了spring boot ajax跨域的兩種方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • MyBatis多表操作查詢功能

    MyBatis多表操作查詢功能

    這篇文章主要介紹了MyBatis多表操作,包括一對一查詢,一對多查詢的模型,多對多查詢的需求,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • Spring創(chuàng)建Bean的關(guān)鍵流程分享

    Spring創(chuàng)建Bean的關(guān)鍵流程分享

    Spring中的Bean生命周期從創(chuàng)建到銷毀分為多個階段,包括實例化、屬性填充、Aware回調(diào)、初始化前處理、初始化處理、初始化后處理、Bean就緒和銷毀,每個階段都有特定的任務(wù),例如屬性注入、初始化方法調(diào)用和資源釋放等,Spring通過三級緩存機(jī)制解決循環(huán)依賴問題
    2026-04-04
  • Springboot集成activity過程圖解

    Springboot集成activity過程圖解

    這篇文章主要介紹了Springboot集成activity過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • eclipse連接數(shù)據(jù)庫并實現(xiàn)用戶注冊登錄功能

    eclipse連接數(shù)據(jù)庫并實現(xiàn)用戶注冊登錄功能

    這篇文章主要介紹了eclipse連接數(shù)據(jù)庫并實現(xiàn)用戶注冊登錄功能的相關(guān)資料,需要的朋友可以參考下
    2021-01-01
  • SpringBoot+Redis哨兵模式的實現(xiàn)

    SpringBoot+Redis哨兵模式的實現(xiàn)

    本文主要介紹了SpringBoot+Redis哨兵模式的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • JDBC中Statement的Sql注入問題詳解

    JDBC中Statement的Sql注入問題詳解

    這篇文章主要介紹了JDBC中Statement的Sql注入問題詳解,sql注入攻擊指的是通過構(gòu)建特殊的輸入作為參數(shù)傳入web應(yīng)用程序,而這些輸入大都是sql語法里的一些組合,通過執(zhí)行sql語句進(jìn)而執(zhí)行攻擊者所要做的操作,需要的朋友可以參考下
    2023-10-10

最新評論

朔州市| 吉安县| 澳门| 石狮市| 东辽县| 昭通市| 永济市| 哈巴河县| 息烽县| 筠连县| 汕尾市| 寿光市| 昌乐县| 岢岚县| 水城县| 常山县| 江城| 青浦区| 鹰潭市| 维西| 平江县| 祁阳县| 大田县| 嘉义县| 澜沧| 新化县| 荔浦县| 洛宁县| 南城县| 宣汉县| 育儿| 崇仁县| 崇左市| 襄垣县| 沾化县| 南陵县| 石河子市| 都匀市| 呼图壁县| 宝山区| 玉树县|