diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java index 24d006f..c9e31e1 100644 --- a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java @@ -18,6 +18,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -26,7 +27,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java index 24d006f..c9e31e1 100644 --- a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java @@ -18,6 +18,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -26,7 +27,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java index 698a890..4ffb02a 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.mvp.presenter.LightMapPresenterImpl; import com.casic.dcms.mvp.view.ILightControlView; import com.casic.dcms.mvp.view.ILightMapView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -106,8 +106,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, SpatialReference.create(4326)); mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java index 24d006f..c9e31e1 100644 --- a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java @@ -18,6 +18,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -26,7 +27,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java index 698a890..4ffb02a 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.mvp.presenter.LightMapPresenterImpl; import com.casic.dcms.mvp.view.ILightControlView; import com.casic.dcms.mvp.view.ILightMapView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -106,8 +106,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, SpatialReference.create(4326)); mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java index 5ff3838..cdfbfa9 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java @@ -23,12 +23,12 @@ import com.casic.dcms.bean.PointPersonBean; import com.casic.dcms.mvp.presenter.PersonOnlinePresenterImpl; import com.casic.dcms.mvp.view.IPersonOnlineView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java index 24d006f..c9e31e1 100644 --- a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java @@ -18,6 +18,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -26,7 +27,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java index 698a890..4ffb02a 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.mvp.presenter.LightMapPresenterImpl; import com.casic.dcms.mvp.view.ILightControlView; import com.casic.dcms.mvp.view.ILightMapView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -106,8 +106,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, SpatialReference.create(4326)); mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java index 5ff3838..cdfbfa9 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java @@ -23,12 +23,12 @@ import com.casic.dcms.bean.PointPersonBean; import com.casic.dcms.mvp.presenter.PersonOnlinePresenterImpl; import com.casic.dcms.mvp.view.IPersonOnlineView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java new file mode 100644 index 0000000..bb0ccf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java @@ -0,0 +1,103 @@ +package com.casic.dcms.utils; + +import android.util.Log; + +import com.casic.dcms.bean.MapConfigBean; +import com.esri.arcgisruntime.data.ServiceFeatureTable; +import com.esri.arcgisruntime.layers.ArcGISTiledLayer; + +import java.util.List; + +public class ArcGisMapCreator { + + private static final String TAG = "ArcGisBaseLayerCreator"; + + /** + * 创建带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createBaseLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + //第一个是GIS地图基础地址,http://111.198.10.15:13002 + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第二个是二维地图URL,/arcgis/rest/services/crdt/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(1).getUrl()); + } + + /** + * 创建不带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createNoGridLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第九个是无网格地图URL,/arcgis/rest/services/crdt_1/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(8).getUrl()); + } + + /** + * 创建网格图层或者社区图层ServiceFeatureTable + */ + public static ServiceFeatureTable createGridFeatureTable() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第五个是网格图层URL,/arcgis/rest/services/crdt/MapServer/13 + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer/13 + * */ + return new ServiceFeatureTable(baseGisUrl + mapConfigList.get(4).getUrl()); + } + + /** + * 创建其他图层ServiceFeatureTable + */ + public static ServiceFeatureTable createOtherFeatureTable(String layerName) { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + ServiceFeatureTable featureTable; + switch (layerName) { + case "店铺三包": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/1 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(5).getUrl()); + break; + case "部件点": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/2 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(6).getUrl()); + break; + case "公共厕所": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer/33 + * */ + String toiletLayerID = StringHelper.getToiletLayerID(); + featureTable = new ServiceFeatureTable(baseGisUrl + Constant.TOILET_SERVICE_URL + "/" + toiletLayerID); + break; + default: + throw new IllegalStateException("Unexpected value: " + layerName); + } + return featureTable; + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java index 24d006f..c9e31e1 100644 --- a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java @@ -18,6 +18,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -26,7 +27,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java index 698a890..4ffb02a 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.mvp.presenter.LightMapPresenterImpl; import com.casic.dcms.mvp.view.ILightControlView; import com.casic.dcms.mvp.view.ILightMapView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -106,8 +106,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, SpatialReference.create(4326)); mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java index 5ff3838..cdfbfa9 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java @@ -23,12 +23,12 @@ import com.casic.dcms.bean.PointPersonBean; import com.casic.dcms.mvp.presenter.PersonOnlinePresenterImpl; import com.casic.dcms.mvp.view.IPersonOnlineView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java new file mode 100644 index 0000000..bb0ccf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java @@ -0,0 +1,103 @@ +package com.casic.dcms.utils; + +import android.util.Log; + +import com.casic.dcms.bean.MapConfigBean; +import com.esri.arcgisruntime.data.ServiceFeatureTable; +import com.esri.arcgisruntime.layers.ArcGISTiledLayer; + +import java.util.List; + +public class ArcGisMapCreator { + + private static final String TAG = "ArcGisBaseLayerCreator"; + + /** + * 创建带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createBaseLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + //第一个是GIS地图基础地址,http://111.198.10.15:13002 + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第二个是二维地图URL,/arcgis/rest/services/crdt/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(1).getUrl()); + } + + /** + * 创建不带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createNoGridLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第九个是无网格地图URL,/arcgis/rest/services/crdt_1/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(8).getUrl()); + } + + /** + * 创建网格图层或者社区图层ServiceFeatureTable + */ + public static ServiceFeatureTable createGridFeatureTable() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第五个是网格图层URL,/arcgis/rest/services/crdt/MapServer/13 + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer/13 + * */ + return new ServiceFeatureTable(baseGisUrl + mapConfigList.get(4).getUrl()); + } + + /** + * 创建其他图层ServiceFeatureTable + */ + public static ServiceFeatureTable createOtherFeatureTable(String layerName) { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + ServiceFeatureTable featureTable; + switch (layerName) { + case "店铺三包": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/1 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(5).getUrl()); + break; + case "部件点": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/2 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(6).getUrl()); + break; + case "公共厕所": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer/33 + * */ + String toiletLayerID = StringHelper.getToiletLayerID(); + featureTable = new ServiceFeatureTable(baseGisUrl + Constant.TOILET_SERVICE_URL + "/" + toiletLayerID); + break; + default: + throw new IllegalStateException("Unexpected value: " + layerName); + } + return featureTable; + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index 859d2ac..9bc9aa1 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -39,6 +39,7 @@ public static final String IP_KEY = "ip"; static final String USER_BEAN = "userBean"; static final String BRIDGE_LIST = "projectBridges"; + static final String MAP_CONFIG = "mapConfigs"; static final String TOILET_LIST = "toilets"; public static final long HALF_YEAR = 180 * 60 * 60 * 24 * 1000L; @@ -89,16 +90,7 @@ //配置项 public static final String PROJECT_CONFIG = "http://223.82.47.232:11504/bridge/static/project.config.json"; + public static final String LAYER_CONFIG = "http://111.198.10.15:11404/dcms/static/project.config.json"; - //生产环境 - public static final String BASE_MAP_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图 - public static final String BASE_MAP_NO_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图 - public static final String COMPONENT_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbj/FeatureServer";//崇仁部件特征图层 - public static final String TOILET_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer";//崇仁公厕特征图层 - - //正式环境 -// public static final String BASE_MAP_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图 -// public static final String BASE_MAP_NO_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图 -// public static final String COMPONENT_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层 -// public static final String TOILET_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbjfc/MapServer/34";//公厕图层 + static final String TOILET_SERVICE_URL = "/arcgis/rest/services/crbjfc/FeatureServer";//崇仁公厕特征图层 } diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java index 24d006f..c9e31e1 100644 --- a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java @@ -18,6 +18,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -26,7 +27,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java index 698a890..4ffb02a 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.mvp.presenter.LightMapPresenterImpl; import com.casic.dcms.mvp.view.ILightControlView; import com.casic.dcms.mvp.view.ILightMapView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -106,8 +106,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, SpatialReference.create(4326)); mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java index 5ff3838..cdfbfa9 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java @@ -23,12 +23,12 @@ import com.casic.dcms.bean.PointPersonBean; import com.casic.dcms.mvp.presenter.PersonOnlinePresenterImpl; import com.casic.dcms.mvp.view.IPersonOnlineView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java new file mode 100644 index 0000000..bb0ccf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java @@ -0,0 +1,103 @@ +package com.casic.dcms.utils; + +import android.util.Log; + +import com.casic.dcms.bean.MapConfigBean; +import com.esri.arcgisruntime.data.ServiceFeatureTable; +import com.esri.arcgisruntime.layers.ArcGISTiledLayer; + +import java.util.List; + +public class ArcGisMapCreator { + + private static final String TAG = "ArcGisBaseLayerCreator"; + + /** + * 创建带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createBaseLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + //第一个是GIS地图基础地址,http://111.198.10.15:13002 + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第二个是二维地图URL,/arcgis/rest/services/crdt/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(1).getUrl()); + } + + /** + * 创建不带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createNoGridLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第九个是无网格地图URL,/arcgis/rest/services/crdt_1/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(8).getUrl()); + } + + /** + * 创建网格图层或者社区图层ServiceFeatureTable + */ + public static ServiceFeatureTable createGridFeatureTable() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第五个是网格图层URL,/arcgis/rest/services/crdt/MapServer/13 + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer/13 + * */ + return new ServiceFeatureTable(baseGisUrl + mapConfigList.get(4).getUrl()); + } + + /** + * 创建其他图层ServiceFeatureTable + */ + public static ServiceFeatureTable createOtherFeatureTable(String layerName) { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + ServiceFeatureTable featureTable; + switch (layerName) { + case "店铺三包": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/1 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(5).getUrl()); + break; + case "部件点": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/2 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(6).getUrl()); + break; + case "公共厕所": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer/33 + * */ + String toiletLayerID = StringHelper.getToiletLayerID(); + featureTable = new ServiceFeatureTable(baseGisUrl + Constant.TOILET_SERVICE_URL + "/" + toiletLayerID); + break; + default: + throw new IllegalStateException("Unexpected value: " + layerName); + } + return featureTable; + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index 859d2ac..9bc9aa1 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -39,6 +39,7 @@ public static final String IP_KEY = "ip"; static final String USER_BEAN = "userBean"; static final String BRIDGE_LIST = "projectBridges"; + static final String MAP_CONFIG = "mapConfigs"; static final String TOILET_LIST = "toilets"; public static final long HALF_YEAR = 180 * 60 * 60 * 24 * 1000L; @@ -89,16 +90,7 @@ //配置项 public static final String PROJECT_CONFIG = "http://223.82.47.232:11504/bridge/static/project.config.json"; + public static final String LAYER_CONFIG = "http://111.198.10.15:11404/dcms/static/project.config.json"; - //生产环境 - public static final String BASE_MAP_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图 - public static final String BASE_MAP_NO_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图 - public static final String COMPONENT_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbj/FeatureServer";//崇仁部件特征图层 - public static final String TOILET_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer";//崇仁公厕特征图层 - - //正式环境 -// public static final String BASE_MAP_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图 -// public static final String BASE_MAP_NO_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图 -// public static final String COMPONENT_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层 -// public static final String TOILET_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbjfc/MapServer/34";//公厕图层 + static final String TOILET_SERVICE_URL = "/arcgis/rest/services/crbjfc/FeatureServer";//崇仁公厕特征图层 } diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index cac58c5..a7cb679 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -4,8 +4,8 @@ import android.util.Log; import com.casic.dcms.R; -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UserBean; import com.google.gson.Gson; @@ -41,17 +41,31 @@ return new Gson().fromJson(userBeanJson, UserBean.DataBean.class); } + public static void saveMapConfigList(String mapConfigJson) { + SaveKeyValues.putValue(Constant.MAP_CONFIG, mapConfigJson); + } + + static List getMapConfigList() { + String mapConfigJson = (String) SaveKeyValues.getValue(Constant.MAP_CONFIG, ""); + List configs = new ArrayList<>(); + if (mapConfigJson.equals("")) { + return configs; + } + return new Gson().fromJson(mapConfigJson, new TypeToken>() { + }.getType()); + } + public static void saveBridgeList(String bridgesJson) { SaveKeyValues.putValue(Constant.BRIDGE_LIST, bridgesJson); } - public static List getBridgeBeanList() { + public static List getBridgeBeanList() { String bridgesJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); - List bridges = new ArrayList<>(); + List bridges = new ArrayList<>(); if (bridgesJson.equals("")) { return bridges; } - return new Gson().fromJson(bridgesJson, new TypeToken>() { + return new Gson().fromJson(bridgesJson, new TypeToken>() { }.getType()); } @@ -69,6 +83,14 @@ }.getType()); } + public static void saveToiletLayerID(String toiletLayerID) { + SaveKeyValues.putValue("toiletLayerID", toiletLayerID); + } + + static String getToiletLayerID() { + return (String) SaveKeyValues.getValue("toiletLayerID", ""); + } + public static boolean isLetterAndDigit(String str) { boolean isDigit = false; boolean isLetter = false; diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java index 24d006f..c9e31e1 100644 --- a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java @@ -18,6 +18,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -26,7 +27,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java index 698a890..4ffb02a 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.mvp.presenter.LightMapPresenterImpl; import com.casic.dcms.mvp.view.ILightControlView; import com.casic.dcms.mvp.view.ILightMapView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -106,8 +106,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, SpatialReference.create(4326)); mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java index 5ff3838..cdfbfa9 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java @@ -23,12 +23,12 @@ import com.casic.dcms.bean.PointPersonBean; import com.casic.dcms.mvp.presenter.PersonOnlinePresenterImpl; import com.casic.dcms.mvp.view.IPersonOnlineView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java new file mode 100644 index 0000000..bb0ccf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java @@ -0,0 +1,103 @@ +package com.casic.dcms.utils; + +import android.util.Log; + +import com.casic.dcms.bean.MapConfigBean; +import com.esri.arcgisruntime.data.ServiceFeatureTable; +import com.esri.arcgisruntime.layers.ArcGISTiledLayer; + +import java.util.List; + +public class ArcGisMapCreator { + + private static final String TAG = "ArcGisBaseLayerCreator"; + + /** + * 创建带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createBaseLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + //第一个是GIS地图基础地址,http://111.198.10.15:13002 + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第二个是二维地图URL,/arcgis/rest/services/crdt/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(1).getUrl()); + } + + /** + * 创建不带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createNoGridLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第九个是无网格地图URL,/arcgis/rest/services/crdt_1/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(8).getUrl()); + } + + /** + * 创建网格图层或者社区图层ServiceFeatureTable + */ + public static ServiceFeatureTable createGridFeatureTable() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第五个是网格图层URL,/arcgis/rest/services/crdt/MapServer/13 + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer/13 + * */ + return new ServiceFeatureTable(baseGisUrl + mapConfigList.get(4).getUrl()); + } + + /** + * 创建其他图层ServiceFeatureTable + */ + public static ServiceFeatureTable createOtherFeatureTable(String layerName) { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + ServiceFeatureTable featureTable; + switch (layerName) { + case "店铺三包": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/1 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(5).getUrl()); + break; + case "部件点": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/2 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(6).getUrl()); + break; + case "公共厕所": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer/33 + * */ + String toiletLayerID = StringHelper.getToiletLayerID(); + featureTable = new ServiceFeatureTable(baseGisUrl + Constant.TOILET_SERVICE_URL + "/" + toiletLayerID); + break; + default: + throw new IllegalStateException("Unexpected value: " + layerName); + } + return featureTable; + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index 859d2ac..9bc9aa1 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -39,6 +39,7 @@ public static final String IP_KEY = "ip"; static final String USER_BEAN = "userBean"; static final String BRIDGE_LIST = "projectBridges"; + static final String MAP_CONFIG = "mapConfigs"; static final String TOILET_LIST = "toilets"; public static final long HALF_YEAR = 180 * 60 * 60 * 24 * 1000L; @@ -89,16 +90,7 @@ //配置项 public static final String PROJECT_CONFIG = "http://223.82.47.232:11504/bridge/static/project.config.json"; + public static final String LAYER_CONFIG = "http://111.198.10.15:11404/dcms/static/project.config.json"; - //生产环境 - public static final String BASE_MAP_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图 - public static final String BASE_MAP_NO_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图 - public static final String COMPONENT_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbj/FeatureServer";//崇仁部件特征图层 - public static final String TOILET_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer";//崇仁公厕特征图层 - - //正式环境 -// public static final String BASE_MAP_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图 -// public static final String BASE_MAP_NO_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图 -// public static final String COMPONENT_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层 -// public static final String TOILET_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbjfc/MapServer/34";//公厕图层 + static final String TOILET_SERVICE_URL = "/arcgis/rest/services/crbjfc/FeatureServer";//崇仁公厕特征图层 } diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index cac58c5..a7cb679 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -4,8 +4,8 @@ import android.util.Log; import com.casic.dcms.R; -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UserBean; import com.google.gson.Gson; @@ -41,17 +41,31 @@ return new Gson().fromJson(userBeanJson, UserBean.DataBean.class); } + public static void saveMapConfigList(String mapConfigJson) { + SaveKeyValues.putValue(Constant.MAP_CONFIG, mapConfigJson); + } + + static List getMapConfigList() { + String mapConfigJson = (String) SaveKeyValues.getValue(Constant.MAP_CONFIG, ""); + List configs = new ArrayList<>(); + if (mapConfigJson.equals("")) { + return configs; + } + return new Gson().fromJson(mapConfigJson, new TypeToken>() { + }.getType()); + } + public static void saveBridgeList(String bridgesJson) { SaveKeyValues.putValue(Constant.BRIDGE_LIST, bridgesJson); } - public static List getBridgeBeanList() { + public static List getBridgeBeanList() { String bridgesJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); - List bridges = new ArrayList<>(); + List bridges = new ArrayList<>(); if (bridgesJson.equals("")) { return bridges; } - return new Gson().fromJson(bridgesJson, new TypeToken>() { + return new Gson().fromJson(bridgesJson, new TypeToken>() { }.getType()); } @@ -69,6 +83,14 @@ }.getType()); } + public static void saveToiletLayerID(String toiletLayerID) { + SaveKeyValues.putValue("toiletLayerID", toiletLayerID); + } + + static String getToiletLayerID() { + return (String) SaveKeyValues.getValue("toiletLayerID", ""); + } + public static boolean isLetterAndDigit(String str) { boolean isDigit = false; boolean isLetter = false; diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index d95fa05..31b7009 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -26,6 +26,7 @@ import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainContentBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -78,6 +79,14 @@ Observable obtainUser(@Header("token") String token); /** + * 获取地图地址 + *

+ * token添加到Header + */ + @GET("/map/server/listPage") + Observable obtainMapConfig(@Header("token") String token); + + /** * 大类列表查询 */ @GET("/case/type/list") diff --git a/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java new file mode 100644 index 0000000..c5a3748 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/BridgeConfigBean.java @@ -0,0 +1,143 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class BridgeConfigBean { + + private String title; + private String baseUrl; + private String mainPage; + private boolean singleSys; + private String city; + private String mapUrl; + private String labelUrl; + private int zoom; + private List center; + private List bridges; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getMainPage() { + return mainPage; + } + + public void setMainPage(String mainPage) { + this.mainPage = mainPage; + } + + public boolean isSingleSys() { + return singleSys; + } + + public void setSingleSys(boolean singleSys) { + this.singleSys = singleSys; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getBridges() { + return bridges; + } + + public void setBridges(List bridges) { + this.bridges = bridges; + } + + public static class BridgesBean { + /** + * id : 1 + * name : 永胜桥 + * lat : 27.76277293762729 + * lng : 116.04329466819765 + */ + + private int id; + private String name; + private double lat; + private double lng; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public double getLng() { + return lng; + } + + public void setLng(double lng) { + this.lng = lng; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java new file mode 100644 index 0000000..ae4d178 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/LayerConfigBean.java @@ -0,0 +1,217 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class LayerConfigBean { + + private String title; + private String baseUrl; + private boolean sameWindow; + private String city; + private String mapUrl; + private String labelUrl; + private String satelliteUrl; + private int zoom; + private List center; + private List partsLayer; + private List layers; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public boolean isSameWindow() { + return sameWindow; + } + + public void setSameWindow(boolean sameWindow) { + this.sameWindow = sameWindow; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getMapUrl() { + return mapUrl; + } + + public void setMapUrl(String mapUrl) { + this.mapUrl = mapUrl; + } + + public String getLabelUrl() { + return labelUrl; + } + + public void setLabelUrl(String labelUrl) { + this.labelUrl = labelUrl; + } + + public String getSatelliteUrl() { + return satelliteUrl; + } + + public void setSatelliteUrl(String satelliteUrl) { + this.satelliteUrl = satelliteUrl; + } + + public int getZoom() { + return zoom; + } + + public void setZoom(int zoom) { + this.zoom = zoom; + } + + public List getCenter() { + return center; + } + + public void setCenter(List center) { + this.center = center; + } + + public List getPartsLayer() { + return partsLayer; + } + + public void setPartsLayer(List partsLayer) { + this.partsLayer = partsLayer; + } + + public List getLayers() { + return layers; + } + + public void setLayers(List layers) { + this.layers = layers; + } + + public static class PartsLayerBean { + + private String code; + private String name; + private List children; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static class ChildrenBean { + + private String code; + private String name; + private int layer; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getLayer() { + return layer; + } + + public void setLayer(int layer) { + this.layer = layer; + } + } + } + + public static class LayersBean { + + private int id; + private String name; + private String type; + private int minZoom; + private List domain; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int getMinZoom() { + return minZoom; + } + + public void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + public List getDomain() { + return domain; + } + + public void setDomain(List domain) { + this.domain = domain; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java new file mode 100644 index 0000000..d6e8efc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/MapConfigBean.java @@ -0,0 +1,101 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class MapConfigBean { + + private int code; + private DataBean data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * id : 1 + * name : GIS地图 + * url : http://111.198.10.15:13002 + */ + + private String id; + private String name; + private String url; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java b/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java deleted file mode 100644 index 86c6b13..0000000 --- a/app/src/main/java/com/casic/dcms/bean/ProjectConfigBean.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.casic.dcms.bean; - -import java.util.List; - -public class ProjectConfigBean { - - private String title; - private String baseUrl; - private String mainPage; - private boolean singleSys; - private String city; - private String mapUrl; - private String labelUrl; - private int zoom; - private List center; - private List bridges; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getBaseUrl() { - return baseUrl; - } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } - - public String getMainPage() { - return mainPage; - } - - public void setMainPage(String mainPage) { - this.mainPage = mainPage; - } - - public boolean isSingleSys() { - return singleSys; - } - - public void setSingleSys(boolean singleSys) { - this.singleSys = singleSys; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getMapUrl() { - return mapUrl; - } - - public void setMapUrl(String mapUrl) { - this.mapUrl = mapUrl; - } - - public String getLabelUrl() { - return labelUrl; - } - - public void setLabelUrl(String labelUrl) { - this.labelUrl = labelUrl; - } - - public int getZoom() { - return zoom; - } - - public void setZoom(int zoom) { - this.zoom = zoom; - } - - public List getCenter() { - return center; - } - - public void setCenter(List center) { - this.center = center; - } - - public List getBridges() { - return bridges; - } - - public void setBridges(List bridges) { - this.bridges = bridges; - } - - public static class BridgesBean { - /** - * id : 1 - * name : 永胜桥 - * lat : 27.76277293762729 - * lng : 116.04329466819765 - */ - - private int id; - private String name; - private double lat; - private double lng; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLng() { - return lng; - } - - public void setLng(double lng) { - this.lng = lng; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java new file mode 100644 index 0000000..deb6683 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetMapConfigListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.MapConfigBean; + +public interface OnGetMapConfigListener { + void onSuccess(MapConfigBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java new file mode 100644 index 0000000..29d7696 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IMapConfigModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IMapConfigModel { + Subscription sendMapConfigRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 9a90954..ffa1944 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -25,6 +25,7 @@ import com.casic.dcms.bean.LightMapBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -59,6 +60,7 @@ import com.casic.dcms.listener.OnGetLightListListener; import com.casic.dcms.listener.OnGetLightMapListListener; import com.casic.dcms.listener.OnGetMaintainRecordListener; +import com.casic.dcms.listener.OnGetMapConfigListener; import com.casic.dcms.listener.OnGetNextProcessListener; import com.casic.dcms.listener.OnGetOnlinePersonListener; import com.casic.dcms.listener.OnGetOvertimeCaseListListener; @@ -90,20 +92,22 @@ import rx.schedulers.Schedulers; public class RetrofitRequestModelImpl implements IAuthenticateModel, ILoginInModel, IUserDataModel, - IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, IUpdateVersionModel, - ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, IUploadFileModel, ICaseSubmitModel, - ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, - ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, - IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, - ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, - IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, - ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, - IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IMapConfigModel, IHomePageModel, IDeptTreeModel, IPhoneBookModel, IChangePasswordModel, + IUpdateVersionModel, ILoginOutActionModel, ICaseLargeClassModel, ICaseSmallClassModel, + IUploadFileModel, ICaseSubmitModel, ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, + ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, + ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, + IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, IPersonOnlineModel, ICaseStatusModel, + ICaseListModel, IToiletListModel, ICleanToiletModel, ICleanRecordModel, IPackageCaseModel, + IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, ISubmitMaintainModel, + IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, IControlLightModel, + IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, IOptionWellModel, + IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; private OnGetUserListener obtainUserListener; + private OnGetMapConfigListener obtainMapConfigListener; private OnGetPageResultListener homePageListener; private OnGetPhoneBookListener onGetPhoneBookListener; private OnGetDeptTreeListener deptTreeListener; @@ -153,6 +157,10 @@ this.obtainUserListener = listener; } + public RetrofitRequestModelImpl(OnGetMapConfigListener listener) { + this.obtainMapConfigListener = listener; + } + public RetrofitRequestModelImpl(OnGetPageResultListener listener) { this.homePageListener = listener; } @@ -378,6 +386,35 @@ } /** + * {@link IMapConfigModel} + */ + @Override + public Subscription sendMapConfigRequest() { + Observable observable = RetrofitServiceManager.getMapConfig(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + obtainMapConfigListener.onFailure(e); + } + } + + @Override + public void onNext(MapConfigBean resultBean) { + if (resultBean != null) { + obtainMapConfigListener.onSuccess(resultBean); + } + } + }); + } + + + /** * {@link IHomePageModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java new file mode 100644 index 0000000..924aab5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IMapConfigPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IMapConfigPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java new file mode 100644 index 0000000..5a651dc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/MapConfigPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.MapConfigBean; +import com.casic.dcms.listener.OnGetMapConfigListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IMapConfigView; + +public class MapConfigPresenterImpl extends BasePresenter implements IMapConfigPresenter, OnGetMapConfigListener { + + private IMapConfigView view; + private RetrofitRequestModelImpl actionModel; + + public MapConfigPresenterImpl(IMapConfigView mapConfigView) { + this.view = mapConfigView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendMapConfigRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(MapConfigBean resultBean) { + view.obtainMapConfig(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java new file mode 100644 index 0000000..3e2a2d6 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IMapConfigView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.MapConfigBean; + +public interface IMapConfigView { + void obtainMapConfig(MapConfigBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index cae17df..17f9e6b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.PointFutureBean; import com.casic.dcms.bean.ShopFeatureBean; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -32,7 +33,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,8 +108,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); @@ -140,7 +139,7 @@ mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 //网格和社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); communityLayer = new FeatureLayer(communityFeatureTable); /** @@ -151,7 +150,7 @@ switch (caseType) { case "部件": //部件点图层 (ID: 2) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/2"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().add(pointLayer); @@ -159,7 +158,7 @@ case "三包上报": case "商铺变更": //门前三包 (ID: 1) - ServiceFeatureTable packageFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/1"); + ServiceFeatureTable packageFeatureTable = ArcGisMapCreator.createOtherFeatureTable("店铺三包"); packageFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); packageLayer = new FeatureLayer(packageFeatureTable); arcGISMap.getOperationalLayers().add(packageLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 2df6ede..fea0619 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; import com.casic.dcms.mvp.presenter.SubmitMaintainPresenterImpl; import com.casic.dcms.mvp.view.IMaintainSubmitView; import com.casic.dcms.utils.LocationHelper; @@ -116,14 +116,14 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - List bridges = StringHelper.getBridgeBeanList(); + List bridges = StringHelper.getBridgeBeanList(); if (bridges.size() == 0) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; } QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); sheetBuilder.setTitle("选择桥梁"); - for (ProjectConfigBean.BridgesBean bean : bridges) { + for (BridgeConfigBean.BridgesBean bean : bridges) { sheetBuilder.addItem(bean.getName()); } sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index bb665ef..124e878 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -29,13 +29,13 @@ import com.casic.dcms.mvp.view.ICaseCheckView; import com.casic.dcms.mvp.view.ICaseListHandleView; import com.casic.dcms.mvp.view.ICaseVerifyView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -108,16 +108,15 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index 8df892c..cdffee7 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -11,6 +11,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -18,7 +19,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -71,17 +71,16 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //社区 (ID: 13) - ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + ServiceFeatureTable communityFeatureTable = ArcGisMapCreator.createGridFeatureTable(); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); - if ("部件".equals(caseType)) {//部件点图层 (ID: 0) - ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + if ("部件".equals(caseType)) {//部件点图层 (ID: 2) + ServiceFeatureTable pointFeatureTable = ArcGisMapCreator.createOtherFeatureTable("部件点"); pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index e40d2cc..5a2a0fd 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -22,15 +22,17 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.base.DoubleClickExitActivity; import com.casic.dcms.bean.ActionResultBean; -import com.casic.dcms.bean.HomePageBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.LayerConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NoticeBean; -import com.casic.dcms.bean.ProjectConfigBean; import com.casic.dcms.bean.ToiletListBean; -import com.casic.dcms.bean.UserBean; import com.casic.dcms.greendao.NoticeBeanDao; +import com.casic.dcms.mvp.presenter.MapConfigPresenterImpl; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; +import com.casic.dcms.mvp.view.IMapConfigView; import com.casic.dcms.mvp.view.IPushRegisterView; import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; @@ -47,7 +49,6 @@ import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StatusBarColorUtil; import com.casic.dcms.utils.StringHelper; -import com.casic.dcms.utils.ToastHelper; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.widgets.NoScrollViewPager; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -64,7 +65,7 @@ import okhttp3.ResponseBody; public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, - IPushRegisterView, IToiletListView { + IPushRegisterView, IMapConfigView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -80,6 +81,7 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private MapConfigPresenterImpl mapConfigPresenter; private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; @@ -104,6 +106,7 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + mapConfigPresenter = new MapConfigPresenterImpl(this); toiletListPresenter = new ToiletListPresenterImpl(this); gson = new Gson(); //获取配置项 @@ -125,13 +128,15 @@ } private void obtainProjectConfig() { + //地图配置项 + mapConfigPresenter.onReadyRetrofitRequest(); //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { String resultStr = resultBean.string(); - List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); + List bridges = gson.fromJson(resultStr, BridgeConfigBean.class).getBridges(); StringHelper.saveBridgeList(gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); @@ -145,6 +150,25 @@ }); //公厕数据 toiletListPresenter.onReadyRetrofitRequest(); + //公厕图层ID + HttpRequestHelper.doRequest(Constant.LAYER_CONFIG, new IHttpRequestListener() { + @Override + public void onSuccess(ResponseBody resultBean) { + try { + String resultStr = resultBean.string(); + List partsLayer = gson.fromJson(resultStr, LayerConfigBean.class).getPartsLayer(); + List childrenBeans = partsLayer.get(2).getChildren(); + StringHelper.saveToiletLayerID(String.valueOf(childrenBeans.get(0).getLayer())); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable throwable) { + + } + }); } @Override @@ -312,6 +336,13 @@ } @Override + public void obtainMapConfig(MapConfigBean resultBean) { + if (resultBean.isSuccess()) { + StringHelper.saveMapConfigList(gson.toJson(resultBean.getData().getRows())); + } + } + + @Override public void obtainToiletListData(ToiletListBean resultBean) { if (resultBean.isSuccess()) { StringHelper.saveToiletList(gson.toJson(resultBean.getData())); diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index 979c6cb..beca2d1 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -28,6 +28,7 @@ import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; import com.casic.dcms.mvp.view.IUploadFileView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -162,13 +162,12 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); //公厕图层 - ServiceFeatureTable featureTable = new ServiceFeatureTable(Constant.TOILET_SERVICE_URL + "/33"); + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); FeatureLayer toiletLayer = new FeatureLayer(featureTable); arcGISMap.getOperationalLayers().add(toiletLayer); diff --git a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java index b318fe0..43cc5ff 100644 --- a/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WarningOnMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvp.presenter.WellDetailPresenterImpl; import com.casic.dcms.mvp.view.IAlarmListView; import com.casic.dcms.mvp.view.IWellDetailView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.SaveKeyValues; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -81,8 +81,7 @@ mapView.setViewpointScaleAsync(64000); ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_NO_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createNoGridLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java index 24d006f..c9e31e1 100644 --- a/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/WorkerOnMapActivity.java @@ -18,6 +18,7 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; @@ -26,7 +27,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java index 698a890..4ffb02a 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/LightOnMapFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.mvp.presenter.LightMapPresenterImpl; import com.casic.dcms.mvp.view.ILightControlView; import com.casic.dcms.mvp.view.ILightMapView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocationHelper; @@ -39,7 +40,6 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -106,8 +106,7 @@ mapView.setAttributionTextVisible(false);//去掉左下角属性标识 ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, SpatialReference.create(4326)); mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java index 5ff3838..cdfbfa9 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java @@ -23,12 +23,12 @@ import com.casic.dcms.bean.PointPersonBean; import com.casic.dcms.mvp.presenter.PersonOnlinePresenterImpl; import com.casic.dcms.mvp.view.IPersonOnlineView; +import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; -import com.esri.arcgisruntime.layers.ArcGISTiledLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -84,8 +84,7 @@ ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); //创建底图、并设置底图图层 - ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); - Basemap basemap = new Basemap(baseLayer); + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); diff --git a/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java new file mode 100644 index 0000000..bb0ccf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/ArcGisMapCreator.java @@ -0,0 +1,103 @@ +package com.casic.dcms.utils; + +import android.util.Log; + +import com.casic.dcms.bean.MapConfigBean; +import com.esri.arcgisruntime.data.ServiceFeatureTable; +import com.esri.arcgisruntime.layers.ArcGISTiledLayer; + +import java.util.List; + +public class ArcGisMapCreator { + + private static final String TAG = "ArcGisBaseLayerCreator"; + + /** + * 创建带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createBaseLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + //第一个是GIS地图基础地址,http://111.198.10.15:13002 + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第二个是二维地图URL,/arcgis/rest/services/crdt/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(1).getUrl()); + } + + /** + * 创建不带网格的ArcGIS底图 + */ + public static ArcGISTiledLayer createNoGridLayer() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ArcGISTiledLayer("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第九个是无网格地图URL,/arcgis/rest/services/crdt_1/MapServer + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer + * */ + return new ArcGISTiledLayer(baseGisUrl + mapConfigList.get(8).getUrl()); + } + + /** + * 创建网格图层或者社区图层ServiceFeatureTable + */ + public static ServiceFeatureTable createGridFeatureTable() { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + //第五个是网格图层URL,/arcgis/rest/services/crdt/MapServer/13 + /** + * http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer/13 + * */ + return new ServiceFeatureTable(baseGisUrl + mapConfigList.get(4).getUrl()); + } + + /** + * 创建其他图层ServiceFeatureTable + */ + public static ServiceFeatureTable createOtherFeatureTable(String layerName) { + List mapConfigList = StringHelper.getMapConfigList(); + if (mapConfigList.size() == 0) { + Log.d(TAG, "create: mapConfigList.size() == 0"); + return new ServiceFeatureTable("/"); + } + String baseGisUrl = mapConfigList.get(0).getUrl(); + ServiceFeatureTable featureTable; + switch (layerName) { + case "店铺三包": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/1 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(5).getUrl()); + break; + case "部件点": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbj/MapServer/2 + * */ + featureTable = new ServiceFeatureTable(baseGisUrl + mapConfigList.get(6).getUrl()); + break; + case "公共厕所": + /** + * http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer/33 + * */ + String toiletLayerID = StringHelper.getToiletLayerID(); + featureTable = new ServiceFeatureTable(baseGisUrl + Constant.TOILET_SERVICE_URL + "/" + toiletLayerID); + break; + default: + throw new IllegalStateException("Unexpected value: " + layerName); + } + return featureTable; + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index 859d2ac..9bc9aa1 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -39,6 +39,7 @@ public static final String IP_KEY = "ip"; static final String USER_BEAN = "userBean"; static final String BRIDGE_LIST = "projectBridges"; + static final String MAP_CONFIG = "mapConfigs"; static final String TOILET_LIST = "toilets"; public static final long HALF_YEAR = 180 * 60 * 60 * 24 * 1000L; @@ -89,16 +90,7 @@ //配置项 public static final String PROJECT_CONFIG = "http://223.82.47.232:11504/bridge/static/project.config.json"; + public static final String LAYER_CONFIG = "http://111.198.10.15:11404/dcms/static/project.config.json"; - //生产环境 - public static final String BASE_MAP_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图 - public static final String BASE_MAP_NO_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图 - public static final String COMPONENT_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbj/FeatureServer";//崇仁部件特征图层 - public static final String TOILET_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbjfc/FeatureServer";//崇仁公厕特征图层 - - //正式环境 -// public static final String BASE_MAP_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图 -// public static final String BASE_MAP_NO_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图 -// public static final String COMPONENT_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层 -// public static final String TOILET_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbjfc/MapServer/34";//公厕图层 + static final String TOILET_SERVICE_URL = "/arcgis/rest/services/crbjfc/FeatureServer";//崇仁公厕特征图层 } diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index cac58c5..a7cb679 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -4,8 +4,8 @@ import android.util.Log; import com.casic.dcms.R; -import com.casic.dcms.bean.HomePageBean; -import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.BridgeConfigBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UserBean; import com.google.gson.Gson; @@ -41,17 +41,31 @@ return new Gson().fromJson(userBeanJson, UserBean.DataBean.class); } + public static void saveMapConfigList(String mapConfigJson) { + SaveKeyValues.putValue(Constant.MAP_CONFIG, mapConfigJson); + } + + static List getMapConfigList() { + String mapConfigJson = (String) SaveKeyValues.getValue(Constant.MAP_CONFIG, ""); + List configs = new ArrayList<>(); + if (mapConfigJson.equals("")) { + return configs; + } + return new Gson().fromJson(mapConfigJson, new TypeToken>() { + }.getType()); + } + public static void saveBridgeList(String bridgesJson) { SaveKeyValues.putValue(Constant.BRIDGE_LIST, bridgesJson); } - public static List getBridgeBeanList() { + public static List getBridgeBeanList() { String bridgesJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); - List bridges = new ArrayList<>(); + List bridges = new ArrayList<>(); if (bridgesJson.equals("")) { return bridges; } - return new Gson().fromJson(bridgesJson, new TypeToken>() { + return new Gson().fromJson(bridgesJson, new TypeToken>() { }.getType()); } @@ -69,6 +83,14 @@ }.getType()); } + public static void saveToiletLayerID(String toiletLayerID) { + SaveKeyValues.putValue("toiletLayerID", toiletLayerID); + } + + static String getToiletLayerID() { + return (String) SaveKeyValues.getValue("toiletLayerID", ""); + } + public static boolean isLetterAndDigit(String str) { boolean isDigit = false; boolean isLetter = false; diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index d95fa05..31b7009 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -26,6 +26,7 @@ import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainContentBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -78,6 +79,14 @@ Observable obtainUser(@Header("token") String token); /** + * 获取地图地址 + *

+ * token添加到Header + */ + @GET("/map/server/listPage") + Observable obtainMapConfig(@Header("token") String token); + + /** * 大类列表查询 */ @GET("/case/type/list") diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 0379f66..90a4c08 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -28,6 +28,7 @@ import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.MaintainContentBean; import com.casic.dcms.bean.MaintainRecordBean; +import com.casic.dcms.bean.MapConfigBean; import com.casic.dcms.bean.NewVersionBean; import com.casic.dcms.bean.OnlinePersonBean; import com.casic.dcms.bean.OvertimeCaseBean; @@ -119,6 +120,15 @@ } /** + * 获取地图地址 + */ + public static Observable getMapConfig() { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainMapConfig(AuthenticationHelper.getToken()); + } + + /** * 大类列表查询 */ public static Observable getCaseLargeClass(String eorc) {