package com.dji.sample.amap.service.impl;
|
|
import com.alibaba.druid.support.json.JSONUtils;
|
import com.dji.sample.amap.service.IAmapService;
|
import org.codehaus.jettison.json.JSONArray;
|
import org.codehaus.jettison.json.JSONObject;
|
import org.codehaus.jettison.json.JSONString;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.HttpEntity;
|
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpMethod;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.MultiValueMap;
|
import org.springframework.web.client.RestTemplate;
|
|
@Service
|
public class AmapServiceImpl implements IAmapService {
|
|
private final String AMAP_KEY = "6c3ea75b215f0c0efcbcfdf13273991b";
|
private final String searchByKeywordUrl = "https://restapi.amap.com/v3/assistant/inputtips?&datatype=poi&key=" + AMAP_KEY + "&keywords=";
|
|
@Autowired
|
private RestTemplate restTemplate;
|
|
@Override
|
public Object searchByKeyword(String keyword) {
|
|
Object result = apiRequestResult(searchByKeywordUrl+keyword);
|
|
|
return result;
|
}
|
|
private Object apiRequestResult(String url) {
|
//设置请求头
|
HttpHeaders headers = new HttpHeaders();
|
//封装请求头
|
HttpEntity<MultiValueMap<String, Object>> formEntity = new HttpEntity<MultiValueMap<String, Object>>(headers);
|
try {
|
//有请求头,有参数请求
|
ResponseEntity<String> responseEntity =
|
restTemplate.exchange(url,
|
HttpMethod.GET,
|
formEntity,
|
String.class);
|
String body = responseEntity.getBody();
|
|
Object parse = JSONUtils.parse(body);
|
|
// 返回
|
return parse;
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
}
|