您的位置:首页 > 数据库

高德城市编码json_sql_excel 三级联动json合集

2017-11-22 16:33 477 查看
下载地址 :  http://download.csdn.net/download/meijuanyou/10128828
摘要:
根据根据高德2017.8.10版本 http://lbs.amap.com/api/webservice/download 整理的城市地图编码三级联动相关的json  sql excel 文件


json 部分:[

  {

    "id": 1,

    "citycode": "010",

    "adcode": 110000,

    "name": "北京市",

    "center": "116.405285,39.904989",

    "level": "province",

    "areacode": "",

    "amapVO": [

      {

        "id": 2,

        "citycode": "010",

        "adcode": 110100,

        "name": "北京市",

        "center": "116.405285,39.904989",

        "level": "city",

        "areacode": "",

        "amapVO": [

          {

            "id": 3,

            "citycode": "010",

            "adcode": 110101,

            "name": "东城区",

            "center": "116.418757,39.917544",

            "level": "district",

            "areacode": ""

          }

sql 截图:



根据sql 生成相关json的代码: @GetMapping("creatMap")
public List<AmapVO> test() {
List<AmapVO> amapVOS= Amap.getAmapRepository().creat1();
for (int i = 0; i < amapVOS.size(); i++) {
AmapVO amapVO=amapVOS.get(i);
if (i==amapVOS.size()-1){
List<AmapVO> amapVOS22= Amap.getAmapRepository().creat2_2(amapVO.getAdcode());//第二级
if (amapVOS22==null||amapVOS22.size()==0){//比如香港这种
amapVOS22= Amap.getAmapRepository().creat3_2(amapVO.getAdcode());//第二级
}else {
for (int j = 0; j <amapVOS22.size() ; j++) {
if (j==amapVOS22.size()-1){//如果是最后一个
List<AmapVO> amapVOS32= Amap.getAmapRepository().creat3_2(amapVOS22.get(j).getAdcode());//第二级
amapVOS22.get(j).setAmapVO(amapVOS32);
}else {
Map<String , Integer> map = new HashMap<>() ;
map.put("p1" , amapVOS22.get(j).getAdcode()) ;
map.put("p2" , amapVOS22.get(j).getAdcode()) ;
List<AmapVO> amapVOS31= Amap.getAmapRepository().creat3_1(map);//第二级
amapVOS22.get(j).setAmapVO(amapVOS31);
}
}
}
amapVOS.get(i).setAmapVO(amapVOS22);
//如果不是第一级倒数
}else {
Map<String , Integer> map2 = new HashMap<>() ;
map2.put("p1" , amapVOS.get(i).getAdcode()) ;
map2.put("p2" , amapVOS.get(i+1).getAdcode()) ;
List<AmapVO> amapVOS21= Amap.getAmapRepository().creat2_1(map2);//第二级
if (amapVOS21==null||amapVOS21.size()==0){//比如香港这种
amapVOS21= Amap.getAmapRepository().creat3_1(map2);//第二级
}else {
for (int j = 0; j <amapVOS21.size() ; j++) {
if (j==amapVOS21.size()-1){//如果是最后一个
List<AmapVO> amapVOS32= Amap.getAmapRepository().creat3_2(amapVOS21.get(j).getAdcode());//第二级
amapVOS21.get(j).setAmapVO(amapVOS32);
}else {
Map<String , Integer> map3 = new HashMap<>() ;
map3.put("p1" , amapVOS21.get(j).getAdcode()) ;
map3.put("p2" , amapVOS21.get(j).getAdcode()) ;
List<AmapVO> amapVOS31= Amap.getAmapRepository().creat3_1(map3);//第二级
amapVOS21.get(j).setAmapVO(amapVOS31);
}
}
}
amapVOS.get(i).setAmapVO(amapVOS21);
}
}
return amapVOS;
}

sql  mybatis:
<resultMap type="com.bovenn.demo.AmapVO" id="amapResultMap">
<id column="fd_id" property="id" />
<result column="fd_citycode" property="citycode" />
<result column="fd_adcode" property="adcode" />
<result column="fd_name" property="name" />
<result column="fd_center" property="center" />
<result column="fd_level" property="level" />
<result column="fd_areacode" property="areacode" />
</resultMap>

<select id="creat1" resultMap="amapResultMap">
SELECT * FROM sys_amap WHERE fd_adcode % 10000=0 order BY fd_adcode ASC
</select>

<select id="creat2_2" resultMap="amapResultMap" parameterType="int">
SELECT * FROM sys_amap WHERE fd_adcode >#{_parameter} AND fd_adcode % 100=0
</select>

<select id="creat2_1" resultMap="amapResultMap" parameterType="java.util.Map">
SELECT * FROM sys_amap WHERE fd_adcode > #{p1} AND fd_adcode < #{p2} AND fd_adcode % 100=0
</select>

<select id="creat3_1" resultMap="amapResultMap" parameterType="java.util.Map">
SELECT * FROM sys_amap WHERE fd_adcode > #{p1} AND fd_adcode < #{p2} AND fd_adcode % 100!=0 GROUP BY fd_adcode
</select>

<select id="creat3_2" resultMap="amapResultMap" parameterType="int">
SELECT * FROM sys_amap WHERE fd_adcode >#{_parameter} AND fd_adcode % 100!=0 GROUP BY fd_adcode
</select>


 VO:

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AmapVO implements Serializable{
private static final long serialVersionUID = 1L;
private Integer id;
/** */
/** */
private String citycode;
/** */
private Integer adcode;
/** */
private String name;
/** */
private String center;
/** */
private String level;
/** */
private String areacode;

private List<AmapVO> amapVO;
}

其他懒得整理。嗯  代码也不想整理。将就着看吧。希望能帮助到需要最新版地图选择三级联动的朋友们
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息