1、新增3个方法:地名地址搜索服务的Suggest操作/suggest,地名地址搜索服务的Geocode操作/geocode,地名地址搜索服务的reverseGeocode操作/reverseGeocode
This commit is contained in:
parent
9d4c9a9b3b
commit
f5673ec512
|
@ -11,9 +11,12 @@ import com.hisense.monitormanage.mapper.ScenicMapper;
|
||||||
import com.hisense.monitormanage.service.MonitorService;
|
import com.hisense.monitormanage.service.MonitorService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("api/project")
|
@RequestMapping("api/project")
|
||||||
|
@ -79,4 +82,49 @@ public class Controller {
|
||||||
|
|
||||||
return "startScenic finish";
|
return "startScenic finish";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//根据用户已输入的文字请求输入建议信息
|
||||||
|
//text:用户输入的文字信息,必填
|
||||||
|
//maxSuggestions:最大建议数量,0~10,默认2
|
||||||
|
@RequestMapping("suggest")
|
||||||
|
public Result suggest(
|
||||||
|
@RequestParam(value ="text") String text,
|
||||||
|
@RequestParam(value = "maxSuggestions",required = false,defaultValue = "2") Integer maxSuggestions
|
||||||
|
){
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("text",text);
|
||||||
|
map.put("maxSuggestions",maxSuggestions);
|
||||||
|
return monitorService.suggest(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据用户已输入的文字请求匹配的地址信息
|
||||||
|
//singleLine:用户输入的文字性地名地址信息,必填
|
||||||
|
//maxSuggestions:最大建议数量,0~10,默认2
|
||||||
|
//magicKey:地名地址唯一ID,Suggest操作返回的JSON数组中包含的magicKey
|
||||||
|
//outSR:坐标系信息,包含"wkid"属性,是表示空间参考的ID,示例:{ "wkid":4490 }
|
||||||
|
@RequestMapping("geocode")
|
||||||
|
public Result geocode(
|
||||||
|
@RequestParam(value="singleLine") String singleLine,
|
||||||
|
@RequestParam(value = "maxSuggestions",required = false,defaultValue = "2") Integer maxSuggestions,
|
||||||
|
@RequestParam(value = "magicKey",required = false,defaultValue = "") String magicKey,
|
||||||
|
@RequestParam(value = "outSR",required = false,defaultValue = "") String outSR
|
||||||
|
){
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("SingleLine",singleLine);
|
||||||
|
map.put("maxSuggestions",maxSuggestions);
|
||||||
|
map.put("magicKey",magicKey);
|
||||||
|
map.put("outSR",outSR);
|
||||||
|
return monitorService.geocode(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据用户已输入的坐标请求附近的地址信息
|
||||||
|
//location:坐标,必填,请注意编码,示例:{"x":120.40632244540544,"y":36.08136665300961,"spatialReference":{"wkid":4490,"latestWkid":4490}}
|
||||||
|
@RequestMapping("reverseGeocode")
|
||||||
|
public Result reverseGeocode(
|
||||||
|
@RequestParam(value="location") String location
|
||||||
|
){
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("location",location);
|
||||||
|
return monitorService.reverseGeocode(map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import cn.hutool.crypto.SecureUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.hisense.monitormanage.entity.Camera;
|
import com.hisense.monitormanage.entity.Camera;
|
||||||
import com.hisense.monitormanage.entity.CameraScenic;
|
import com.hisense.monitormanage.entity.CameraScenic;
|
||||||
|
import com.hisense.monitormanage.entity.Result;
|
||||||
import com.hisense.monitormanage.mapper.CameraMapper;
|
import com.hisense.monitormanage.mapper.CameraMapper;
|
||||||
import com.hisense.monitormanage.mapper.CameraScenicMapper;
|
import com.hisense.monitormanage.mapper.CameraScenicMapper;
|
||||||
import com.hisense.monitormanage.mapper.ScenicMapper;
|
import com.hisense.monitormanage.mapper.ScenicMapper;
|
||||||
|
@ -51,6 +52,8 @@ public class MonitorService {
|
||||||
private String fileDir;
|
private String fileDir;
|
||||||
@Value("${hwx.file.pic-host}")
|
@Value("${hwx.file.pic-host}")
|
||||||
private String picHost;
|
private String picHost;
|
||||||
|
@Value("iOgQotfgfyLvhj6WgfDTpq7F")
|
||||||
|
private String key;
|
||||||
|
|
||||||
// final private String userName = "chengshiyunnao";
|
// final private String userName = "chengshiyunnao";
|
||||||
// final private String password = "QDyjj@2021";
|
// final private String password = "QDyjj@2021";
|
||||||
|
@ -289,6 +292,66 @@ public class MonitorService {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//地名地址搜索服务的Suggest操作
|
||||||
|
public Result suggest(Map<String,Object> map){
|
||||||
|
String url = "http://q3d.qd.gov.cn:8195/portalproxy/qcserver/rest/services/qcgd/GeocodeServer/suggest?"+"text={text}&key={key}";
|
||||||
|
map.put("key",key);
|
||||||
|
|
||||||
|
ResponseEntity<String> responseEntity;
|
||||||
|
try{
|
||||||
|
responseEntity = restTemplate.getForEntity(url, String.class,map);
|
||||||
|
HttpStatus statusCode = responseEntity.getStatusCode();
|
||||||
|
if(statusCode.is2xxSuccessful()){
|
||||||
|
return Result.success(responseEntity.getBody());
|
||||||
|
}else{
|
||||||
|
return Result.error(String.valueOf(statusCode.value()));
|
||||||
|
}
|
||||||
|
} catch (Exception e){
|
||||||
|
log.info("[suggest] exception:{}",e.getMessage());
|
||||||
|
return Result.error(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//地名地址搜索服务的Geocode操作
|
||||||
|
public Result geocode(Map<String,Object> map){
|
||||||
|
String url = "http://q3d.qd.gov.cn:8195/portalproxy/qcserver/rest/services/qcgd/GeocodeServer/findAddressCandidates?"
|
||||||
|
+"SingleLine={SingleLine}&key={key}";
|
||||||
|
map.put("key",key);
|
||||||
|
|
||||||
|
ResponseEntity<String> responseEntity;
|
||||||
|
try{
|
||||||
|
responseEntity = restTemplate.getForEntity(url, String.class,map);
|
||||||
|
HttpStatus statusCode = responseEntity.getStatusCode();
|
||||||
|
if(statusCode.is2xxSuccessful()){
|
||||||
|
return Result.success(responseEntity.getBody());
|
||||||
|
}else{
|
||||||
|
return Result.error(String.valueOf(statusCode.value()));
|
||||||
|
}
|
||||||
|
} catch (Exception e){
|
||||||
|
log.info("[geocode] exception:{}",e.getMessage());
|
||||||
|
return Result.error(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//地名地址搜索服务的reverseGeocode操作
|
||||||
|
public Result reverseGeocode(Map<String,Object> map){
|
||||||
|
String url = "http://q3d.qd.gov.cn:8195/portalproxy/qcserver/rest/services/qcgd/GeocodeServer/reverseGeocode?"
|
||||||
|
+"location={location}&key={key}";
|
||||||
|
map.put("key",key);
|
||||||
|
|
||||||
|
ResponseEntity<String> responseEntity;
|
||||||
|
try {
|
||||||
|
responseEntity = restTemplate.getForEntity(url, String.class, map);
|
||||||
|
HttpStatus statusCode = responseEntity.getStatusCode();
|
||||||
|
if(statusCode.is2xxSuccessful()){
|
||||||
|
return Result.success(responseEntity.getBody());
|
||||||
|
}else{
|
||||||
|
return Result.error(String.valueOf(statusCode.value()));
|
||||||
|
}
|
||||||
|
}catch (HttpClientErrorException e){
|
||||||
|
log.info("[reverseGeocode] exception:{}",e.getMessage());
|
||||||
|
return Result.error(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,29 @@
|
||||||
package com.hisense.monitormanage;
|
package com.hisense.monitormanage;
|
||||||
|
|
||||||
|
import com.hisense.monitormanage.service.MonitorService;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
class MonitorManageApplicationTests {
|
class MonitorManageApplicationTests {
|
||||||
|
@Autowired
|
||||||
|
private MonitorService monitorService;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void contextLoads() {
|
void contextLoads() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void reverseGeocodeTest(){
|
||||||
|
String location = "location";
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("location",location);
|
||||||
|
monitorService.reverseGeocode(map);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue