- pom文件加入依赖
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
- 上代码
package BigData
import java.util
import com.alibaba.fastjson.JSON
import org.apache.http.NameValuePair
import org.apache.http.client.config.RequestConfig
import org.apache.http.client.methods.HttpGet
import org.apache.http.client.utils.URIBuilder
import org.apache.http.conn.ConnectTimeoutException
import org.apache.http.impl.client.HttpClients
import org.apache.http.message.BasicNameValuePair
import org.apache.http.util.EntityUtils
object GetLocationByLatLng {
private val HOSTARR = "http://restapi.amap.com/v3/geocode/regeo"
private val HOST = "https://restapi.amap.com/v3/distance"
// private static final String HOST = "http://122.114.79.163:7770/v3/distance";
private val KEY = "761e73b6188fb868feee5b558dcbcd7a"
def main(args: Array[String]): Unit = {
/**
* @param :通过请求发送经纬度
* @return: 具体位置信息
*/
println(getLocationAddr("106.87361370672,27.59869455045"))
}
def getLocationAddr(location: String): String = {
val list = new util.LinkedList[NameValuePair]
list.add(new BasicNameValuePair("key", KEY))
list.add(new BasicNameValuePair("output", "JSON"))
list.add(new BasicNameValuePair("location", location))
var responseEntity = ""
var addr = ""
try {
val httpGet = new HttpGet(new URIBuilder(HOSTARR).setParameters(list).build)
httpGet.setConfig(RequestConfig.custom.setConnectTimeout(2000).build)
val response = HttpClients.createDefault.execute(httpGet)
responseEntity = EntityUtils.toString(response.getEntity, "UTF-8")
val jsonObject = JSON.parseObject(responseEntity)
addr = jsonObject.getJSONObject("regeocode").getJSONObject("addressComponent").getJSONObject("building").getString("name")
if (addr == "[]") {
addr = jsonObject.getJSONObject("regeocode").getString("formatted_address")
}
} catch {
case e: Exception =>
if (e.isInstanceOf[ConnectTimeoutException]) System.out.println("-------请求超时-------")
else e.printStackTrace()
}
addr
}
}
本文参考文章地址 :https://www.cnblogs.com/baihaojie/p/10218934.html