修改面状任务的网络请求和上报

This commit is contained in:
wds 2021-07-08 18:32:23 +08:00
parent 3675cfb39e
commit bc5b9db502
16 changed files with 852 additions and 436 deletions

View File

@ -3,7 +3,7 @@ apply plugin: 'com.android.application'
android { android {
compileSdkVersion 29 compileSdkVersion 29
buildToolsVersion '29.0.2' buildToolsVersion '29.0.2'
ndkVersion '23.0.7123448' // ndkVersion '21.1.6352462'
defaultConfig { defaultConfig {
applicationId "com.navinfo.outdoor" applicationId "com.navinfo.outdoor"

View File

@ -45,7 +45,8 @@ public class Constant {
//message word //message word
public static final int TREASURE_FRAGMENT = 100;//抽屉界面的展示和隐藏 public static final int TREASURE_FRAGMENT = 100;//抽屉界面的展示和隐藏
public static final int TREASURE_WORD = 0;//poi 对地图页面marker 的一个展示 public static final int TREASURE_WORD = 0;//poi 对地图页面marker 的一个展示 编辑
public static final int TREASURE_CHECKED_WORD = 40;//poi 对地图页面marker 的一个展示 确定
public static final int CAPACITY_EVALUATION_PAGE = 1;//能力测评的页数 public static final int CAPACITY_EVALUATION_PAGE = 1;//能力测评的页数
public static final int POI_WORD = 2;//地图页面marker 的经纬都回传 public static final int POI_WORD = 2;//地图页面marker 的经纬都回传
public static final int FILTER_LIST = 4;//筛选列表所有数据地图显示 public static final int FILTER_LIST = 4;//筛选列表所有数据地图显示
@ -56,13 +57,16 @@ public class Constant {
public static final int MAIN_HEADER = 9; // 控制主界面各个header public static final int MAIN_HEADER = 9; // 控制主界面各个header
public static final int MAIN_REMOVE = 10; // 控制主界面各个header移除 public static final int MAIN_REMOVE = 10; // 控制主界面各个header移除
public static final int GATHER_GET_RETURN = 11;//参加领取的返回 public static final int GATHER_GET_RETURN = 11;//参加领取的返回
public static final int MAIN_CHARGING_STATION = 13;//充电站的Fragment 对地图页面marker 的一个展示 public static final int MAIN_CHARGING_STATION = 13;//充电站的Fragment 对地图页面marker 的一个展示 编辑
public static final int MAIN_CHARGING_CHECKED_STATION = 43;//充电站的Fragment 对地图页面marker 的一个展示 确定
public static final int CHARGING_STATION_WORD = 15;//地图页面marker 的经纬都回传 public static final int CHARGING_STATION_WORD = 15;//地图页面marker 的经纬都回传
public static final int CHARGING_STATION = 16;//跳转到充电桩 public static final int CHARGING_STATION = 16;//跳转到充电桩
public static final int MAIN_CHARGING_PILE = 18;//充电桩的Fragment 对地图页面marker 的一个展示 public static final int MAIN_CHARGING_PILE = 18;//充电桩的Fragment 对地图页面marker 的一个展示 编辑
public static final int MAIN_CHARGING_CHECKED_PILE = 49;//充电桩的Fragment 对地图页面marker 的一个展示 确定
public static final int CHARGING_PILE_WORD = 20;//地图页面marker 的经纬都回传 public static final int CHARGING_PILE_WORD = 20;//地图页面marker 的经纬都回传
public static final int CHARGING_PILE_STATION = 22;//将充电桩的数据回传给充电站 public static final int CHARGING_PILE_STATION = 22;//将充电桩的数据回传给充电站
public static final int MAIN_OTHER = 23;//其他的Fragment 对地图页面marker 的一个展示 public static final int MAIN_OTHER = 23;//其他的Fragment 对地图页面marker 的一个展示 编辑
public static final int MAIN_CHECKED_OTHER = 24;//其他的Fragment 对地图页面marker 的一个展示 确定
public static final int OTHER_WORD = 25;//地图页面marker 的经纬都回传 public static final int OTHER_WORD = 25;//地图页面marker 的经纬都回传
public static final int CHARGING_STATION_PILE = 26;//跳转到充电桩 传给数据 public static final int CHARGING_STATION_PILE = 26;//跳转到充电桩 传给数据
public static final int JOB_SEARCH_WORD = 28;//任务搜索的网络数据 public static final int JOB_SEARCH_WORD = 28;//任务搜索的网络数据

View File

@ -1,6 +1,8 @@
package com.navinfo.outdoor.bean; package com.navinfo.outdoor.bean;
public class Info { import java.io.Serializable;
public class Info implements Serializable {
/** /**
* photo : * photo :
* x : * x :

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,8 @@
package com.navinfo.outdoor.bean; package com.navinfo.outdoor.bean;
/**
*普通任务
*/
public class ReceivedPoiBean { public class ReceivedPoiBean {
private Integer code; private Integer code;

View File

@ -0,0 +1,42 @@
package com.navinfo.outdoor.bean;
/**
* 面状任务-结束领取
* 面妆任务-立即采集
* 面妆任务-结束采集
*/
public class UnPolygonTaskBean {
/**
* code : 200
* message : 成功
* body : 1
*/
private int code;
private String message;
private int body;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public int getBody() {
return body;
}
public void setBody(int body) {
this.body = body;
}
}

View File

@ -152,10 +152,17 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
checkBoxLife.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { checkBoxLife.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Message obtain = Message.obtain(); if (isChecked){
obtain.what = Constant.MAIN_CHARGING_PILE; Message obtain = Message.obtain();
obtain.obj = isChecked; obtain.what = Constant.MAIN_CHARGING_PILE;
EventBus.getDefault().post(obtain); obtain.obj = latLng;
EventBus.getDefault().post(obtain);
}else {
Message obtain = Message.obtain();
obtain.what = Constant.MAIN_CHARGING_CHECKED_PILE;
obtain.obj = true;
EventBus.getDefault().post(obtain);
}
} }
}); });
checkBoxRight.setVisibility(View.GONE); checkBoxRight.setVisibility(View.GONE);

View File

@ -50,6 +50,7 @@ import com.navinfo.outdoor.room.ChargingPileEntity;
import com.navinfo.outdoor.room.PoiDao; import com.navinfo.outdoor.room.PoiDao;
import com.navinfo.outdoor.room.PoiDatabase; import com.navinfo.outdoor.room.PoiDatabase;
import com.navinfo.outdoor.room.PoiEntity; import com.navinfo.outdoor.room.PoiEntity;
import com.navinfo.outdoor.util.Geohash;
import com.navinfo.outdoor.util.PhotoPathUtil; import com.navinfo.outdoor.util.PhotoPathUtil;
import com.sothree.slidinguppanel.SlidingUpPanelLayout; import com.sothree.slidinguppanel.SlidingUpPanelLayout;
import com.tencent.tencentmap.mapsdk.maps.model.LatLng; import com.tencent.tencentmap.mapsdk.maps.model.LatLng;
@ -90,7 +91,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
private String phone = null; private String phone = null;
private Spinner spinnerType; private Spinner spinnerType;
String[] ctype = new String[]{"全部", "poi", "充电站", "POI录像", "道路录像"};//1."全部"2 "POI"3 "充电站"4 "POI录像"5 "道路录像", String[] ctype = new String[]{"全部", "poi", "充电站", "POI录像", "道路录像"};//1."全部"2 "POI"3 "充电站"4 "POI录像"5 "道路录像",
String[] spinner = new String[]{"存在","不存在","无法验证"}; String[] spinner = new String[]{"存在", "不存在", "无法验证"};
private ArrayAdapter<String> adapter; private ArrayAdapter<String> adapter;
private LinearLayout linearChargingPile; private LinearLayout linearChargingPile;
private RecyclerView recyclerStation; private RecyclerView recyclerStation;
@ -200,10 +201,18 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
checkBoxLife.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { checkBoxLife.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Message obtain = Message.obtain(); if (isChecked) {
obtain.what = Constant.MAIN_CHARGING_STATION; Message obtain = Message.obtain();
obtain.obj = isChecked; obtain.what = Constant.MAIN_CHARGING_STATION;
EventBus.getDefault().post(obtain); obtain.obj = latLng;
EventBus.getDefault().post(obtain);
} else {
Message obtain = Message.obtain();
obtain.what = Constant.MAIN_CHARGING_CHECKED_STATION;
obtain.obj = true;
EventBus.getDefault().post(obtain);
}
} }
}); });
checkBoxRight.setVisibility(View.GONE); checkBoxRight.setVisibility(View.GONE);
@ -332,84 +341,82 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
private void initShowPoi() { private void initShowPoi() {
// 添加信息 // 添加信息
showPoiEntity = (PoiEntity) getArguments().getSerializable("poiEntity"); showPoiEntity = (PoiEntity) getArguments().getSerializable("poiEntity");
if (showPoiEntity != null) { String name = showPoiEntity.getName();//名称
String name = showPoiEntity.getName();//名称 if (name != null && !name.equals("")) {
if (name != null &&!name.equals("")) { editNameContent.setText(name + "");
editNameContent.setText(name + ""); }
} String address = showPoiEntity.getAddress();//地址
String address = showPoiEntity.getAddress();//地址 if (address != null && !address.equals("")) {
if (address != null&&! address.equals("")) { editSiteContent.setText(address);
editSiteContent.setText(address); }
} String x = showPoiEntity.getX();
String x = showPoiEntity.getX(); String y = showPoiEntity.getY();
String y = showPoiEntity.getY(); if (x != null && y != null) {
if (x != null && y != null) { latLng = new LatLng();
latLng = new LatLng(); latLng.setLatitude(Double.parseDouble(y));
latLng.setLatitude(Double.parseDouble(y)); latLng.setLongitude(Double.parseDouble(x));
latLng.setLongitude(Double.parseDouble(x)); }
} String describe = showPoiEntity.getDescribe();//任务描述
String describe = showPoiEntity.getDescribe();//任务描述 if (describe != null && !describe.equals("")) {
if (describe != null&&!describe.equals("")) { editDescribe.setText(describe);
editDescribe.setText(describe); }
} int station_type = showPoiEntity.getStation_type();
int station_type = showPoiEntity.getStation_type(); spinnerType.setSelection(station_type, true);
spinnerType.setSelection(station_type,true); String telPhone = showPoiEntity.getTelPhone();
String telPhone = showPoiEntity.getTelPhone(); if (telPhone != null && !telPhone.equals("")) {
if (telPhone != null&&!telPhone.equals("")) { phoneData.add(showPoiEntity.getTelPhone());
phoneData.add(showPoiEntity.getTelPhone()); poiBeans.add(new PoiBean("电话*", telPhone, R.drawable.icon_add_bg));
poiBeans.add(new PoiBean("电话*", telPhone, R.drawable.icon_add_bg)); } else {
poiRecycleAdapter.setList(poiBeans); poiBeans.add(new PoiBean("电话*", "", R.drawable.icon_add_bg));
} }
linearExist.setVisibility(View.VISIBLE); poiRecycleAdapter.setList(poiBeans);
if (showPoiEntity.getPhotoInfo() != null) { linearExist.setVisibility(View.VISIBLE);
for (int i = 0; i < showPoiEntity.getPhotoInfo().size(); i++) { if (showPoiEntity.getPhotoInfo() != null) {
String photo = showPoiEntity.getPhotoInfo().get(i).getPhoto(); for (int i = 0; i < showPoiEntity.getPhotoInfo().size(); i++) {
String[] split = photo.split("/"); String photo = showPoiEntity.getPhotoInfo().get(i).getPhoto();
if (split[split.length - 1].startsWith("a")) { String[] split = photo.split("/");
Glide.with(getActivity()).load(photo).into(ivPanorama); if (split[split.length - 1].startsWith("a")) {
ivPanorama.setTag(photo); Glide.with(getActivity()).load(photo).into(ivPanorama);
} else if (split[split.length - 1].startsWith("b")) { ivPanorama.setTag(photo);
Glide.with(getActivity()).load(photo).into(ivName); } else if (split[split.length - 1].startsWith("b")) {
ivName.setTag(photo); Glide.with(getActivity()).load(photo).into(ivName);
} else if (split[split.length - 1].startsWith("c")) { ivName.setTag(photo);
Glide.with(getActivity()).load(photo).into(ivInternal); } else if (split[split.length - 1].startsWith("c")) {
ivInternal.setTag(photo); Glide.with(getActivity()).load(photo).into(ivInternal);
} else if (split[split.length - 1].startsWith("d")) { ivInternal.setTag(photo);
Glide.with(getActivity()).load(photo).into(ivElse); } else if (split[split.length - 1].startsWith("d")) {
ivElse.setTag(photo); Glide.with(getActivity()).load(photo).into(ivElse);
} else if (split[split.length - 1].startsWith("e")) { ivElse.setTag(photo);
Glide.with(getActivity()).load(photo).into(ivScutcheon); } else if (split[split.length - 1].startsWith("e")) {
ivScutcheon.setTag(photo); Glide.with(getActivity()).load(photo).into(ivScutcheon);
} ivScutcheon.setTag(photo);
} }
} }
ArrayList<ChargingPileEntity> chargingPileEntities = new ArrayList<>(); }
ArrayList<ChargingPileEntity> chargingPileEntities = new ArrayList<>();
new Thread(new Runnable() {
@Override new Thread(new Runnable() {
public void run() { @Override
List<ChargingPileEntity> chargingPile = chargingPileDao.getChargingPile(); public void run() {
for (int i = 0; i < chargingPile.size(); i++) { List<ChargingPileEntity> chargingPile = chargingPileDao.getChargingPile();
ChargingPileEntity chargingPileEntity = chargingPile.get(i); for (int i = 0; i < chargingPile.size(); i++) {
if (showPoiEntity.getTaskId() == chargingPileEntity.getFid()) { ChargingPileEntity chargingPileEntity = chargingPile.get(i);
chargingPileEntities.add(chargingPileEntity); if (showPoiEntity.getTaskId() == chargingPileEntity.getFid()) {
} chargingPileEntities.add(chargingPileEntity);
} }
getActivity().runOnUiThread(new Runnable() { }
@Override getActivity().runOnUiThread(new Runnable() {
public void run() { @Override
chargingPileAdapter.setChargingPileEntities(chargingPileEntities); public void run() {
} chargingPileAdapter.setChargingPileEntities(chargingPileEntities);
}); }
});
}
}).start(); }
}).start();
} else { if (showPoiEntity.getTaskId()!=0){
poiBeans.add(new PoiBean("电话*", phone, R.drawable.icon_add_bg)); initPile();
poiRecycleAdapter.setList(poiBeans);
} }
initPile();
} }
private void initPile() { private void initPile() {
@ -497,7 +504,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
public void onGranted(List<String> permissions, boolean all) { public void onGranted(List<String> permissions, boolean all) {
if (all) { if (all) {
//保存数据库 //保存数据库
PoiEntity poiEntity = new PoiEntity(); PoiEntity poiEntity = showPoiEntity;
List<Info> infoPhoto = new ArrayList<>(); List<Info> infoPhoto = new ArrayList<>();
String name = editNameContent.getText().toString().trim();//名称 String name = editNameContent.getText().toString().trim();//名称
if (name == null || name.equals("")) { if (name == null || name.equals("")) {
@ -517,6 +524,8 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show();
return; return;
} else { } else {
String encode = Geohash.getInstance().encode(latLng.latitude,latLng.longitude);
poiEntity.setGeoWkt(encode);
poiEntity.setX(String.valueOf(latLng.longitude)); poiEntity.setX(String.valueOf(latLng.longitude));
poiEntity.setY(String.valueOf(latLng.latitude)); poiEntity.setY(String.valueOf(latLng.latitude));
} }
@ -578,11 +587,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
} else { } else {
aBoolean = false; aBoolean = false;
} }
if (showPoiEntity!=null){
if (showPoiEntity.getTaskId()!=0){
poiEntity.setTaskId(showPoiEntity.getTaskId());
}
}
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis()); calendar.setTimeInMillis(System.currentTimeMillis());
@ -594,13 +598,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
List<PoiEntity> allPoi = poiDao.getAllPoi();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
poiEntity.setTaskId(allPoi.size() + 1);
}
});
poiDao.insertPoiEntity(poiEntity); poiDao.insertPoiEntity(poiEntity);
} }
}).start(); }).start();
@ -661,7 +658,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
} }
private String initShowStation() { private String initShowStation() {
PoiEntity poiEntity = new PoiEntity(); PoiEntity poiEntity = showPoiEntity;
List<Info> infoPhoto = new ArrayList<>(); List<Info> infoPhoto = new ArrayList<>();
String name = editNameContent.getText().toString().trim();//名称 String name = editNameContent.getText().toString().trim();//名称
if (name != null && !name.equals("")) { if (name != null && !name.equals("")) {
@ -683,27 +680,27 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
poiEntity.setTelPhone(phoneData.get(0)); poiEntity.setTelPhone(phoneData.get(0));
} }
String tagPanorama = (String) ivPanorama.getTag(); String tagPanorama = (String) ivPanorama.getTag();
if (tagPanorama != null&&!tagPanorama.equals("")) { if (tagPanorama != null && !tagPanorama.equals("")) {
infoPhoto.add(new Info(tagPanorama)); infoPhoto.add(new Info(tagPanorama));
} }
String tagName = (String) ivName.getTag(); String tagName = (String) ivName.getTag();
if (tagName != null&&!tagName.equals("")) { if (tagName != null && !tagName.equals("")) {
infoPhoto.add(new Info(tagName)); infoPhoto.add(new Info(tagName));
} }
String tagInternal = (String) ivInternal.getTag(); String tagInternal = (String) ivInternal.getTag();
if (tagInternal != null&&!tagInternal.equals("")) { if (tagInternal != null && !tagInternal.equals("")) {
infoPhoto.add(new Info(tagInternal)); infoPhoto.add(new Info(tagInternal));
} }
String tagElse = (String) ivElse.getTag(); String tagElse = (String) ivElse.getTag();
if (tagElse != null&&!tagElse.equals("")) { if (tagElse != null && !tagElse.equals("")) {
infoPhoto.add(new Info(tagElse)); infoPhoto.add(new Info(tagElse));
} }
String tagScutcheon = (String) ivScutcheon.getTag(); String tagScutcheon = (String) ivScutcheon.getTag();
if (tagScutcheon != null&&!tagScutcheon.equals("")) { if (tagScutcheon != null && !tagScutcheon.equals("")) {
infoPhoto.add(new Info(tagScutcheon)); infoPhoto.add(new Info(tagScutcheon));
} }
if (showPoiEntity!=null){ if (showPoiEntity != null) {
if (showPoiEntity.getTaskId()!=0){ if (showPoiEntity.getTaskId() != 0) {
poiEntity.setTaskId(showPoiEntity.getTaskId()); poiEntity.setTaskId(showPoiEntity.getTaskId());
} }
} }
@ -717,18 +714,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
poiEntity.setType(2); poiEntity.setType(2);
poiEntity.setTaskStatus(2); poiEntity.setTaskStatus(2);
poiEntity.setIsLocalData(1); poiEntity.setIsLocalData(1);
/* new Thread(new Runnable() {
@Override
public void run() {
List<PoiEntity> allPoi = poiDao.getAllPoi();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
poiEntity.setTaskId(allPoi.size() + 1);
}
});
}
}).start();*/
String newPoiEntity = new Gson().toJson(poiEntity); String newPoiEntity = new Gson().toJson(poiEntity);
return newPoiEntity; return newPoiEntity;
} }
@ -752,7 +737,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
SharedPreferences.Editor edit = poi.edit(); SharedPreferences.Editor edit = poi.edit();
//根据要保存的数据的类型调用对应的put方法, //根据要保存的数据的类型调用对应的put方法,
PoiEntity poiEntity = new PoiEntity(); PoiEntity poiEntity = showPoiEntity;
List<Info> infoPhoto = new ArrayList<>(); List<Info> infoPhoto = new ArrayList<>();
String name = editNameContent.getText().toString().trim();//名称 String name = editNameContent.getText().toString().trim();//名称
if (name != null && !name.equals("")) { if (name != null && !name.equals("")) {
@ -774,27 +759,27 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
poiEntity.setTelPhone(phoneData.get(0)); poiEntity.setTelPhone(phoneData.get(0));
} }
String tagPanorama = (String) ivPanorama.getTag(); String tagPanorama = (String) ivPanorama.getTag();
if (tagPanorama != null&&!tagPanorama.equals("")) { if (tagPanorama != null && !tagPanorama.equals("")) {
infoPhoto.add(new Info(tagPanorama)); infoPhoto.add(new Info(tagPanorama));
} }
String tagName = (String) ivName.getTag(); String tagName = (String) ivName.getTag();
if (tagName != null&&!tagName.equals("")) { if (tagName != null && !tagName.equals("")) {
infoPhoto.add(new Info(tagName)); infoPhoto.add(new Info(tagName));
} }
String tagInternal = (String) ivInternal.getTag(); String tagInternal = (String) ivInternal.getTag();
if (tagInternal != null&&!tagInternal.equals("")) { if (tagInternal != null && !tagInternal.equals("")) {
infoPhoto.add(new Info(tagInternal)); infoPhoto.add(new Info(tagInternal));
} }
String tagElse = (String) ivElse.getTag(); String tagElse = (String) ivElse.getTag();
if (tagElse != null&&!tagElse.equals("")) { if (tagElse != null && !tagElse.equals("")) {
infoPhoto.add(new Info(tagElse)); infoPhoto.add(new Info(tagElse));
} }
String tagScutcheon = (String) ivScutcheon.getTag(); String tagScutcheon = (String) ivScutcheon.getTag();
if (tagScutcheon != null&&!tagScutcheon.equals("")) { if (tagScutcheon != null && !tagScutcheon.equals("")) {
infoPhoto.add(new Info(tagScutcheon)); infoPhoto.add(new Info(tagScutcheon));
} }
if (showPoiEntity!=null){ if (showPoiEntity != null) {
if (showPoiEntity.getTaskId()!=0){ if (showPoiEntity.getTaskId() != 0) {
poiEntity.setTaskId(showPoiEntity.getTaskId()); poiEntity.setTaskId(showPoiEntity.getTaskId());
} }
} }
@ -808,18 +793,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
poiEntity.setType(2); poiEntity.setType(2);
poiEntity.setTaskStatus(2); poiEntity.setTaskStatus(2);
poiEntity.setIsLocalData(1); poiEntity.setIsLocalData(1);
/* new Thread(new Runnable() {
@Override
public void run() {
List<PoiEntity> allPoi = poiDao.getAllPoi();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
poiEntity.setTaskId(allPoi.size() + 1);
}
});
}
}).start();*/
String newPoiEntity = new Gson().toJson(poiEntity); String newPoiEntity = new Gson().toJson(poiEntity);
//以键值对的形式添加新值 //以键值对的形式添加新值
edit.putString("poiEntity", newPoiEntity); edit.putString("poiEntity", newPoiEntity);

View File

@ -176,10 +176,12 @@ public class FilterFragment extends BaseDrawerFragment implements View.OnClickLi
@Subscribe @Subscribe
public void onEvent(Message data) { public void onEvent(Message data) {
if (data.what == Constant.JOB_SEARCH_WORD) { if (data.what == Constant.JOB_SEARCH_POI_WORD) {
allPoi = (List<PoiEntity>) data.obj;
} else if (data.what == Constant.JOB_SEARCH_WORD) {
poiEntities.clear(); poiEntities.clear();
JobSearchBean jobSearchBean = (JobSearchBean) data.obj; JobSearchBean jobSearchBean = (JobSearchBean) data.obj;
if (jobSearchBean!=null){ if (jobSearchBean != null) {
List<JobSearchBean.BodyBean.ListBean> list = jobSearchBean.getBody().getList(); List<JobSearchBean.BodyBean.ListBean> list = jobSearchBean.getBody().getList();
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
PoiEntity poiEntity = new PoiEntity(); PoiEntity poiEntity = new PoiEntity();
@ -203,13 +205,11 @@ public class FilterFragment extends BaseDrawerFragment implements View.OnClickLi
poiEntities.add(poiEntity); poiEntities.add(poiEntity);
} }
} }
if (allPoi!=null){ if (allPoi != null) {
poiEntities.addAll(allPoi); poiEntities.addAll(allPoi);
} }
filterAdapter.setAllPoi(poiEntities); filterAdapter.setAllPoi(poiEntities);
} else if (data.what == Constant.JOB_SEARCH_POI_WORD) {
allPoi = (List<PoiEntity>) data.obj;
} }
} }
@ -222,15 +222,47 @@ public class FilterFragment extends BaseDrawerFragment implements View.OnClickLi
clNumber = findViewById(R.id.cl_number); clNumber = findViewById(R.id.cl_number);
clNumber.setOnClickListener(this::onClick); clNumber.setOnClickListener(this::onClick);
tvNumber = findViewById(R.id.tv_number); tvNumber = findViewById(R.id.tv_number);
tvNumber.setText(Constant.NUMBER+"");
clPhotograph = findViewById(R.id.cl_photograph); clPhotograph = findViewById(R.id.cl_photograph);
clPhotograph.setOnClickListener(this::onClick); clPhotograph.setOnClickListener(this::onClick);
tvPhotograph = findViewById(R.id.tv_photograph); tvPhotograph = findViewById(R.id.tv_photograph);
if (Constant.LIMIT_TTPE == -1) {//"全部", "普通任务", "专属任务"
tvPhotograph.setText("全部");
} else if (Constant.LIMIT_TTPE == 0) {
tvPhotograph.setText("普通任务");
} else if (Constant.LIMIT_TTPE == 1) {
tvPhotograph.setText("专属任务");
}
clExclusive = findViewById(R.id.cl_exclusive); clExclusive = findViewById(R.id.cl_exclusive);
clExclusive.setOnClickListener(this::onClick); clExclusive.setOnClickListener(this::onClick);
tvExclusive = findViewById(R.id.tv_exclusive); tvExclusive = findViewById(R.id.tv_exclusive);
if (Constant.TASK_TYPE == -1) {//"全部", "poi", "充电站", "POI录像", "道路录像", "其他", "面状任务"
tvExclusive.setText("全部");
} else if (Constant.TASK_TYPE == 1) {
tvExclusive.setText("poi");
} else if (Constant.TASK_TYPE == 2) {
tvExclusive.setText("充电站");
} else if (Constant.TASK_TYPE == 3) {
tvExclusive.setText("POI录像");
} else if (Constant.TASK_TYPE == 4) {
tvExclusive.setText("道路录像");
} else if (Constant.TASK_TYPE == 5) {
tvExclusive.setText("其他");
} else if (Constant.TASK_TYPE == 6) {
tvExclusive.setText("面状任务");
}
clType = findViewById(R.id.cl_type); clType = findViewById(R.id.cl_type);
clType.setOnClickListener(this::onClick); clType.setOnClickListener(this::onClick);
tvType = findViewById(R.id.tv_type); tvType = findViewById(R.id.tv_type);
if (Constant.TASK_STASTUS == -1) {
tvType.setText("全部");
} else if (Constant.TASK_STASTUS == 1) {
tvType.setText("已领取");
} else if (Constant.TASK_STASTUS == 2) {
tvType.setText("待提交");
} else if (Constant.TASK_STASTUS == 3) {
tvType.setText("未领取");
}
btnFilter = findViewById(R.id.btn_filter); btnFilter = findViewById(R.id.btn_filter);
btnFilter.setOnClickListener(this::onClick); btnFilter.setOnClickListener(this::onClick);
recyclerFilter = findViewById(R.id.recycler_filter); recyclerFilter = findViewById(R.id.recycler_filter);
@ -258,12 +290,12 @@ public class FilterFragment extends BaseDrawerFragment implements View.OnClickLi
filterAdapter.setItemCLick(new FilterAdapter.ItemCLick() { filterAdapter.setItemCLick(new FilterAdapter.ItemCLick() {
@Override @Override
public void item(PoiEntity poiEntity, boolean aBoolean) { public void item(PoiEntity poiEntity, boolean aBoolean) {
if (aBoolean) { if (aBoolean) {//本地
Message obtain = Message.obtain(); Message obtain = Message.obtain();
obtain.what = Constant.GATHER_GET; obtain.what = Constant.GATHER_GET;
obtain.obj = poiEntity; obtain.obj = poiEntity;
EventBus.getDefault().post(obtain); EventBus.getDefault().post(obtain);
} else { } else {//服务
Message obtain = Message.obtain(); Message obtain = Message.obtain();
obtain.what = Constant.FILTER_LIST_ITEM; obtain.what = Constant.FILTER_LIST_ITEM;
obtain.obj = poiEntity; obtain.obj = poiEntity;

View File

@ -7,11 +7,15 @@ import android.view.KeyEvent;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import com.lzy.okgo.model.HttpParams;
import com.navinfo.outdoor.R; import com.navinfo.outdoor.R;
import com.navinfo.outdoor.api.Constant; import com.navinfo.outdoor.api.Constant;
import com.navinfo.outdoor.base.BaseFragment; import com.navinfo.outdoor.base.BaseFragment;
import com.navinfo.outdoor.bean.PolygonTaskBean;
import com.navinfo.outdoor.bean.ReceivedPoiBean; import com.navinfo.outdoor.bean.ReceivedPoiBean;
import com.navinfo.outdoor.bean.UnPolygonTaskBean;
import com.navinfo.outdoor.http.Callback; import com.navinfo.outdoor.http.Callback;
import com.navinfo.outdoor.http.HttpInterface; import com.navinfo.outdoor.http.HttpInterface;
import com.navinfo.outdoor.http.OkGoBuilder; import com.navinfo.outdoor.http.OkGoBuilder;
@ -24,6 +28,8 @@ import com.vividsolutions.jts.geom.Geometry;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import java.util.List;
/** /**
* 领取采集的fragment * 领取采集的fragment
*/ */
@ -34,17 +40,20 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
private PoiDao poiDao; private PoiDao poiDao;
private PoiEntity poiListEntity; private PoiEntity poiListEntity;
private int aSave; private int aSave;
private PoiEntity polygonEntity;
public static GatherGetFragment newInstance(Bundle bundle) { public static GatherGetFragment newInstance(Bundle bundle) {
GatherGetFragment fragment = new GatherGetFragment(); GatherGetFragment fragment = new GatherGetFragment();
fragment.setArguments(bundle); fragment.setArguments(bundle);
return fragment; return fragment;
} }
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
getFocus(); getFocus();
} }
//主界面获取焦点 //主界面获取焦点
private void getFocus() { private void getFocus() {
getView().setFocusableInTouchMode(true); getView().setFocusableInTouchMode(true);
@ -64,10 +73,12 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
} }
}); });
} }
@Override @Override
protected int getLayout() { protected int getLayout() {
return R.layout.fragment_gather_get; return R.layout.fragment_gather_get;
} }
@Override @Override
protected void initView() { protected void initView() {
super.initView(); super.initView();
@ -87,152 +98,319 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
btnFinishGather = findViewById(R.id.btn_finish_gather);//结束采集 btnFinishGather = findViewById(R.id.btn_finish_gather);//结束采集
btnFinishGather.setOnClickListener(this::onClick); btnFinishGather.setOnClickListener(this::onClick);
Bundle arguments = getArguments(); Bundle arguments = getArguments();
if (arguments != null) { if (arguments != null) {//poiEntity
poiEntity = (PoiEntity) arguments.getSerializable("poiEntity"); poiEntity = (PoiEntity) arguments.getSerializable("poiEntity");
aSave = arguments.getInt("aSave", 0); if (poiEntity != null) {
if (aSave == 1) {//普通任务 tvTitle.setText(poiEntity.getName());
if (poiEntity != null) { if (poiEntity.getPrecision() == null) {
tvTitle.setText(poiEntity.getName()); tvMoney.setText("" + 0);
if (poiEntity.getPrecision() == null) { } else {
tvMoney.setText("" + 0); tvMoney.setText("" + poiEntity.getPrecision());
} else {
tvMoney.setText("" + poiEntity.getPrecision());
}
tvTime.setText("到期时间:" + poiEntity.getCreateTime());
tvDescribe.setText("任务描述:" + poiEntity.getDescribe());
if (poiEntity.getDist() != null) {
tvDistance.setText("距离:" + format5(Double.valueOf(poiEntity.getDist()) / 1000) + "km");
}
} }
int taskStatus = poiEntity.getTaskStatus(); tvTime.setText("到期时间:" + poiEntity.getCreateTime());
switch (taskStatus) { tvDescribe.setText("任务描述:" + poiEntity.getDescribe());
case 0://未领取 if (poiEntity.getDist() != null) {
btnCancelGet.setVisibility(View.GONE); tvDistance.setText("距离:" + format5(Double.valueOf(poiEntity.getDist()) / 1000) + "km");
btnGetTask.setVisibility(View.VISIBLE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.GONE);
break;
case 1://已领取
btnCancelGet.setVisibility(View.VISIBLE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.GONE);
break;
case 2://已保存
btnCancelGet.setVisibility(View.GONE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.VISIBLE);
break;
case 3://已提交
btnCancelGet.setVisibility(View.GONE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.GONE);
btnFinishGather.setVisibility(View.GONE);
break;
}
} else if (aSave == 2) {//面妆任务
if (poiEntity != null) {
tvTitle.setText(poiEntity.getName());
if (poiEntity.getPrecision() == null) {
tvMoney.setText("" + 0);
} else {
tvMoney.setText("" + poiEntity.getPrecision());
}
tvTime.setText("到期时间:" + poiEntity.getCreateTime());
tvDescribe.setText("任务描述:" + poiEntity.getDescribe());
if (poiEntity.getDist() != null) {
tvDistance.setText("距离:" + format5(Double.valueOf(poiEntity.getDist())/1000) + "km");
}
}
int taskStatus = poiEntity.getTaskStatus();
switch (taskStatus) {
case 0://未领取
btnCancelGet.setVisibility(View.GONE);
btnGetTask.setVisibility(View.VISIBLE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.GONE);
break;
case 1://已领取
btnCancelGet.setVisibility(View.VISIBLE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.GONE);
break;
case 2://已保存
btnCancelGet.setVisibility(View.GONE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.VISIBLE);
break;
case 3://已提交
btnCancelGet.setVisibility(View.GONE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.GONE);
btnFinishGather.setVisibility(View.GONE);
break;
} }
} }
int taskStatus = poiEntity.getTaskStatus();
switch (taskStatus) {
case 0://未领取
btnCancelGet.setVisibility(View.GONE);
btnGetTask.setVisibility(View.VISIBLE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.GONE);
break;
case 1://已领取
btnCancelGet.setVisibility(View.VISIBLE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.GONE);
break;
case 2://已保存
btnCancelGet.setVisibility(View.GONE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.VISIBLE);
break;
case 3://已提交
btnCancelGet.setVisibility(View.GONE);
btnGetTask.setVisibility(View.GONE);
btnGather.setVisibility(View.GONE);
btnFinishGather.setVisibility(View.GONE);
break;
}
} }
} }
@Override @Override
public void onClick(View v) { public void onClick(View v) {
switch (v.getId()) { switch (v.getId()) {
case R.id.btn_cancel_get://结束领取 case R.id.btn_cancel_get://结束领取
poiEntity.setTaskStatus(0);
btnGetTask.setVisibility(View.VISIBLE);
btnCancelGet.setVisibility(View.GONE);
new Thread(new Runnable() {
@Override
public void run() {
if (poiListEntity!=null){
poiDao.deletePoiEntity(poiListEntity);
}else {
poiDao.deletePoiEntity(poiEntity);
}
}
}).start();
break;
case R.id.btn_get_task://领取任务
poiEntity.setTaskStatus(1);
btnGetTask.setVisibility(View.GONE);
btnCancelGet.setVisibility(View.VISIBLE);
//网络请求
if (poiEntity != null) { if (poiEntity != null) {
if (poiEntity.getType() == 1) {//poi的领取类型 int type = poiEntity.getType();
receivedTaskByNet(HttpInterface.RECEIVED_POI_TASK+"/"+poiEntity.getTaskId() + "", false); if (type == 6) {
} else if (poiEntity.getType() == 5) { initUnPolygonTask(HttpInterface.UNRECEIVED_POLYGON_TASK, poiEntity.getTaskId());
receivedTaskByNet(HttpInterface.RECEIVED_OTHER_TASK+"/"+poiEntity.getTaskId() + "", false); } else {
poiEntity.setTaskStatus(0);
new Thread(new Runnable() {
@Override
public void run() {
if (poiListEntity != null) {
poiDao.deletePoiEntity(poiListEntity);
} else {
poiDao.deletePoiEntity(poiEntity);
}
}
}).start();
} }
} }
break; break;
case R.id.btn_gather://立即采集 case R.id.btn_get_task://领取任务
if (poiEntity != null) { if (poiEntity != null) {
int type = poiEntity.getType();
if (type == 6) {
initPolygonTask(HttpInterface.RECEIVED_POLYGON_TASK, poiEntity.getTaskId(),false);
} else {
btnGetTask.setVisibility(View.GONE);
btnCancelGet.setVisibility(View.VISIBLE);
//网络请求
if (poiEntity.getType() == 1) {//poi的领取类型 if (poiEntity.getType() == 1) {//poi的领取类型
receivedTaskByNet(HttpInterface.RECEIVED_POI_TASK+"/"+poiEntity.getTaskId() + "", true); receivedTaskByNet(HttpInterface.RECEIVED_POI_TASK + "/" + poiEntity.getTaskId() + "", false);
} else if (poiEntity.getType() == 5) {//其他
receivedTaskByNet(HttpInterface.RECEIVED_OTHER_TASK + "/" + poiEntity.getTaskId() + "", false);
} }
}
}
break;
case R.id.btn_gather://立即采集
if (poiEntity!=null){
int type = poiEntity.getType();
if (type==6){
int taskStatus = poiEntity.getTaskStatus();
if (taskStatus != 1) {
initPolygonTask(HttpInterface.RECEIVED_POLYGON_TASK, poiEntity.getTaskId(),true);
}else {
initCompleteTask(HttpInterface.COMPLETE, poiEntity.getTaskId());
}
}else {
btnFinishGather.setVisibility(View.VISIBLE);
btnGather.setVisibility(View.GONE);
if (poiEntity.getType() == 1) {//poi的领取类型
receivedTaskByNet(HttpInterface.RECEIVED_POI_TASK + "/" + poiEntity.getTaskId() + "", true);
} else if (poiEntity.getType() == 5) {
receivedTaskByNet(HttpInterface.RECEIVED_OTHER_TASK + "/" + poiEntity.getTaskId() + "", true);
}
}
} }
break; break;
case R.id.btn_finish_gather://结束采集 case R.id.btn_finish_gather://结束采集
btnFinishGather.setVisibility(View.VISIBLE); if (poiEntity!=null){
new Thread(new Runnable() { int type = poiEntity.getType();
@Override if (type==6){
public void run() { initSubmitPolygonTask(HttpInterface.SUBMIT_POLYGON_TASK, poiEntity.getTaskId());
if (poiListEntity!=null){ }else {
poiDao.deletePoiEntity(poiListEntity); btnGather.setVisibility(View.VISIBLE);
}else { btnFinishGather.setVisibility(View.GONE);
poiDao.deletePoiEntity(poiEntity); new Thread(new Runnable() {
} @Override
public void run() {
if (poiListEntity != null) {
poiDao.deletePoiEntity(poiListEntity);
} else {
poiDao.deletePoiEntity(poiEntity);
}
}
}).start();
} }
}).start(); }
break; break;
} }
} }
/**
* @param url 面妆任务领取任务
*/
private void initPolygonTask(String url, int taskId ,boolean aBoolean) {
if (taskId == 0) {
Toast.makeText(getContext(), "无此任务", Toast.LENGTH_SHORT).show();
return;
}
showLoadingDialog();
OkGoBuilder.getInstance()
.Builder(getActivity())
.url(url + "/" + taskId)
.method(OkGoBuilder.GET)
.cls(PolygonTaskBean.class)
.callback(new Callback<PolygonTaskBean>() {
@Override
public void onSuccess(PolygonTaskBean response, int id) {
dismissLoadingDialog();
if (response.getCode() == 200) {
PolygonTaskBean.BodyBean listBean = response.getBody();
PoiEntity polygonEntity = new PoiEntity();
polygonEntity.setTaskId(listBean.getId());
polygonEntity.setName(listBean.getName());
polygonEntity.setType(Integer.valueOf(listBean.getType()));
String geo = listBean.getGeo();
polygonEntity.setGeoWkt(geo);
Geometry geometry = GeometryTools.createGeometry(geo);
if (geometry.getGeometryType().equals("Point")) {//
LatLng latLng = GeometryTools.createLatLng(geo);
poiListEntity.setX(latLng.longitude + "");
poiListEntity.setY(latLng.latitude + "");
} else if (geometry.getGeometryType().equals("LineString")) {//线
List<LatLng> latLineString = GeometryTools.getLatLngs(geo);
poiListEntity.setX(latLineString.get(0).longitude + "");
poiListEntity.setY(latLineString.get(0).latitude + "");
} else if (geometry.getGeometryType().equals("Polygon")) {//
List<LatLng> latPolygon = GeometryTools.getLatLngs(geo);
poiListEntity.setX(latPolygon.get(0).longitude + "");
poiListEntity.setY(latPolygon.get(0).latitude + "");
}
polygonEntity.setTaskStatus(1);
new Thread(new Runnable() {
@Override
public void run() {
poiDao.insertPoiEntity(polygonEntity);
}
}).start();
btnGetTask.setVisibility(View.GONE);
btnCancelGet.setVisibility(View.VISIBLE);
if (aBoolean){
initCompleteTask(HttpInterface.COMPLETE, poiEntity.getTaskId());
}
}
}
@Override
public void onError(Throwable e, int id) {
dismissLoadingDialog();
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
Log.d("TAG", "onError: " + e.getMessage());
}
}).build();
}
/**
* @param url 面妆任务结束领取 结束采集
*/
private void initUnPolygonTask(String url, int taskId) {
if (taskId == 0) {
Toast.makeText(getContext(), "无此任务", Toast.LENGTH_SHORT).show();
return;
}
showLoadingDialog();
OkGoBuilder.getInstance()
.Builder(getActivity())
.url(url + "/" + taskId)
.method(OkGoBuilder.GET)
.cls(UnPolygonTaskBean.class)
.callback(new Callback<UnPolygonTaskBean>() {
@Override
public void onSuccess(UnPolygonTaskBean response, int id) {
dismissLoadingDialog();
if (response.getCode() == 200) {
new Thread(new Runnable() {
@Override
public void run() {
PoiEntity poiEntity = poiDao.getPoiEntity(taskId);
poiDao.deletePoiEntity(poiEntity);
}
}).start();
btnGetTask.setVisibility(View.VISIBLE);
btnCancelGet.setVisibility(View.GONE);
}
}
@Override
public void onError(Throwable e, int id) {
dismissLoadingDialog();
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
Log.d("TAG", "onError: " + e.getMessage());
}
}).build();
}
/**
* @param url 面妆任务立即采集
*/
private void initCompleteTask(String url, int taskId) {
if (taskId == 0) {
Toast.makeText(getContext(), "无此任务", Toast.LENGTH_SHORT).show();
return;
}
showLoadingDialog();
OkGoBuilder.getInstance()
.Builder(getActivity())
.url(url + "/" + taskId)
.method(OkGoBuilder.GET)
.cls(UnPolygonTaskBean.class)
.callback(new Callback<UnPolygonTaskBean>() {
@Override
public void onSuccess(UnPolygonTaskBean response, int id) {
dismissLoadingDialog();
if (response.getCode() == 200) {
btnGather.setVisibility(View.GONE);
btnFinishGather.setVisibility(View.VISIBLE);
}
}
@Override
public void onError(Throwable e, int id) {
dismissLoadingDialog();
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
Log.d("TAG", "onError: " + e.getMessage());
}
}).build();
}
/**
* @param url 面妆任务 结束采集
*/
private void initSubmitPolygonTask(String url, int taskId) {
if (taskId == 0) {
Toast.makeText(getContext(), "无此任务", Toast.LENGTH_SHORT).show();
return;
}
showLoadingDialog();
OkGoBuilder.getInstance()
.Builder(getActivity())
.url(url)
.method(OkGoBuilder.GET)
.params(new HttpParams("id", String.valueOf(taskId)))
.cls(UnPolygonTaskBean.class)
.callback(new Callback<UnPolygonTaskBean>() {
@Override
public void onSuccess(UnPolygonTaskBean response, int id) {
dismissLoadingDialog();
if (response.getCode() == 200) {
new Thread(new Runnable() {
@Override
public void run() {
PoiEntity poiEntity = poiDao.getPoiEntity(taskId);
poiDao.deletePoiEntity(poiEntity);
}
}).start();
btnGather.setVisibility(View.VISIBLE);
btnFinishGather.setVisibility(View.GONE);
}
}
@Override
public void onError(Throwable e, int id) {
dismissLoadingDialog();
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
Log.d("TAG", "onError: " + e.getMessage());
}
}).build();
}
/** /**
* @param url 不同任务类型对应的url * @param url 不同任务类型对应的url
*/ */
@ -248,31 +426,37 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
public void onSuccess(ReceivedPoiBean response, int id) { public void onSuccess(ReceivedPoiBean response, int id) {
dismissLoadingDialog(); dismissLoadingDialog();
ReceivedPoiBean.BodyBean listBean = response.getBody(); ReceivedPoiBean.BodyBean listBean = response.getBody();
poiListEntity = new PoiEntity(); PoiEntity poiListEntity = new PoiEntity();
poiListEntity.setTaskId(listBean.getId()); poiListEntity.setTaskId(listBean.getId());
poiListEntity.setName(listBean.getName()); poiListEntity.setName(listBean.getName());
poiListEntity.setAddress(listBean.getAddress()); poiListEntity.setAddress(listBean.getAddress());
poiListEntity.setTelPhone(listBean.getTelephone() + ""); poiListEntity.setTelPhone(listBean.getTelephone() + "");
poiListEntity.setType(Integer.valueOf(listBean.getType())); poiListEntity.setType(Integer.valueOf(listBean.getType()));
String geo = listBean.getGeo(); String geo = listBean.getGeo();
poiListEntity.setGeoWkt(geo);
Geometry geometry = GeometryTools.createGeometry(geo); Geometry geometry = GeometryTools.createGeometry(geo);
if (geometry.getGeometryType().equals("Point")) {// if (geometry.getGeometryType().equals("Point")) {//
LatLng latLng = GeometryTools.createLatLng(geo); LatLng latLng = GeometryTools.createLatLng(geo);
poiListEntity.setX(latLng.longitude + ""); poiListEntity.setX(latLng.longitude + "");
poiListEntity.setY(latLng.latitude + ""); poiListEntity.setY(latLng.latitude + "");
} else if (geometry.getGeometryType().equals("LineString")) {//线 } else if (geometry.getGeometryType().equals("LineString")) {//线
} else if (geometry.getGeometryType().equals("Polygon")) {}// List<LatLng> latLineString = GeometryTools.getLatLngs(geo);
poiListEntity.setX(latLineString.get(0).longitude + "");
poiListEntity.setY(latLineString.get(0).latitude + "");
} else if (geometry.getGeometryType().equals("Polygon")) {//
List<LatLng> latPolygon = GeometryTools.getLatLngs(geo);
poiListEntity.setX(latPolygon.get(0).longitude + "");
poiListEntity.setY(latPolygon.get(0).latitude + "");
}
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
poiDao.insertPoiEntity(poiListEntity); poiDao.insertPoiEntity(poiListEntity);
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
btnFinishGather.setVisibility(View.VISIBLE); btnFinishGather.setVisibility(View.VISIBLE);
if (isSaver&&aSave==1) { if (isSaver && aSave == 1) {
Message obtain = Message.obtain(); Message obtain = Message.obtain();
obtain.what = Constant.GATHER_GET_MAP; obtain.what = Constant.GATHER_GET_MAP;
obtain.obj = poiListEntity; obtain.obj = poiListEntity;
@ -282,8 +466,8 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
}); });
} }
}).start(); }).start();
} }
@Override @Override
public void onError(Throwable e, int id) { public void onError(Throwable e, int id) {
dismissLoadingDialog(); dismissLoadingDialog();
@ -291,6 +475,7 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe
} }
}).build(); }).build();
} }
public static String format5(double value) { public static String format5(double value) {
return String.format("%.2f", value).toString(); return String.format("%.2f", value).toString();
} }

View File

@ -94,7 +94,6 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
private ArrayList<File> otheruploadList; private ArrayList<File> otheruploadList;
private String takePhotoPath; private String takePhotoPath;
private String takePhotoPath2; private String takePhotoPath2;
private PoiEntity poiEntity;
public static OtherFragment newInstance(Bundle bundle) { public static OtherFragment newInstance(Bundle bundle) {
OtherFragment fragment = new OtherFragment(); OtherFragment fragment = new OtherFragment();
@ -183,10 +182,18 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
checkPot.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { checkPot.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Message obtain = Message.obtain(); if (isChecked){
obtain.what = Constant.MAIN_OTHER; Message obtain = Message.obtain();
obtain.obj = isChecked; obtain.what = Constant.MAIN_OTHER;
EventBus.getDefault().post(obtain); obtain.obj = latLng;
EventBus.getDefault().post(obtain);
}else {
Message obtain = Message.obtain();
obtain.what = Constant.MAIN_CHECKED_OTHER;
obtain.obj = true;
EventBus.getDefault().post(obtain);
}
} }
}); });
editTaskName = findViewById(R.id.et_task_name); editTaskName = findViewById(R.id.et_task_name);
@ -300,9 +307,8 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
public void onGranted(List<String> permissions, boolean all) { public void onGranted(List<String> permissions, boolean all) {
if (all) { if (all) {
//保存数据库 //保存数据库
poiEntity = new PoiEntity(); PoiEntity poiEntity = showPoiEntity;
List<Info> infoList = new ArrayList<>(); List<Info> infoList = new ArrayList<>();
String name = editTaskName.getText().toString().trim();//名称 String name = editTaskName.getText().toString().trim();//名称
if (name == null || name.equals("")) { if (name == null || name.equals("")) {
Toast.makeText(getActivity(), "请输入poi 名称", Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), "请输入poi 名称", Toast.LENGTH_SHORT).show();
@ -315,6 +321,8 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show();
return; return;
} else { } else {
String encode = Geohash.getInstance().encode(latLng.latitude,latLng.longitude);
poiEntity.setGeoWkt(encode);
poiEntity.setX(String.valueOf(latLng.longitude)); poiEntity.setX(String.valueOf(latLng.longitude));
poiEntity.setY(String.valueOf(latLng.latitude)); poiEntity.setY(String.valueOf(latLng.latitude));
} }
@ -339,11 +347,6 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
} else { } else {
infoList.add(new Info(tagPictures)); infoList.add(new Info(tagPictures));
} }
if (showPoiEntity != null) {
if (showPoiEntity.getTaskId() != 0) {
poiEntity.setTaskId(showPoiEntity.getTaskId());
}
}
poiEntity.setStation_type(station_type); poiEntity.setStation_type(station_type);
poiEntity.setPhotoInfo(infoList); poiEntity.setPhotoInfo(infoList);
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@ -380,8 +383,7 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
break; break;
case R.id.btn_other_uploading: case R.id.btn_other_uploading:
otherUploadByNet(showPoiEntity);
otherUploadByNet(poiEntity);
break; break;
} }
} }
@ -409,7 +411,6 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
public void onSuccess(Response<NameAuthenticationBean> response) { public void onSuccess(Response<NameAuthenticationBean> response) {
dismissLoadingDialog(); dismissLoadingDialog();
Log.d("TAG", "onSuccess: " + response.toString() + "sssssssssssss"); Log.d("TAG", "onSuccess: " + response.toString() + "sssssssssssss");
} }
@Override @Override
@ -430,8 +431,7 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
httpParams.put("taskId", poiEntity.getTaskId()); httpParams.put("taskId", poiEntity.getTaskId());
httpParams.put("name", poiEntity.getName()); httpParams.put("name", poiEntity.getName());
httpParams.put("existence", "1"); httpParams.put("existence", "1");
String encode = Geohash.getInstance().encode(Double.valueOf(poiEntity.getY()), Double.valueOf(poiEntity.getX())); httpParams.put("geo", poiEntity.getGeoWkt());
httpParams.put("geo", encode);
httpParams.put("memo", poiEntity.getMemo()); httpParams.put("memo", poiEntity.getMemo());
OkGoBuilder.getInstance() OkGoBuilder.getInstance()
@ -468,7 +468,7 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis
//获取Editor对象 //获取Editor对象
SharedPreferences.Editor edit = poi.edit(); SharedPreferences.Editor edit = poi.edit();
//根据要保存的数据的类型调用对应的put方法, //根据要保存的数据的类型调用对应的put方法,
PoiEntity poiEntity = new PoiEntity(); PoiEntity poiEntity =showPoiEntity;
ArrayList<Info> arrayList = new ArrayList<>(); ArrayList<Info> arrayList = new ArrayList<>();
String name = editTaskName.getText().toString().trim();//名称 String name = editTaskName.getText().toString().trim();//名称
if (name != null && !name.equals("")) { if (name != null && !name.equals("")) {

View File

@ -98,7 +98,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
private CheckBox checkBoxRight; private CheckBox checkBoxRight;
private PoiEntity showPoiEntity; private PoiEntity showPoiEntity;
private LatLng latLng; private LatLng latLng;
String[] spinner = new String[]{"存在","不存在","无法验证"}; String[] spinner = new String[]{"存在", "不存在", "无法验证"};
private RelativeLayout linearExist; private RelativeLayout linearExist;
private Spinner spinnerExist; private Spinner spinnerExist;
private ArrayList<File> poiUploadList; private ArrayList<File> poiUploadList;
@ -108,7 +108,6 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
private String takePhotoPath4; private String takePhotoPath4;
private String takePhotoPath3; private String takePhotoPath3;
private String takePhotoPath1; private String takePhotoPath1;
private PoiEntity poiEntity;
public static PoiFragment newInstance(Bundle bundle) { public static PoiFragment newInstance(Bundle bundle) {
PoiFragment fragment = new PoiFragment(); PoiFragment fragment = new PoiFragment();
@ -173,10 +172,18 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
checkBoxLife.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { checkBoxLife.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Message obtain = Message.obtain(); if (isChecked) {
obtain.what = Constant.TREASURE_WORD; Message obtain = Message.obtain();
obtain.obj = isChecked; obtain.what = Constant.TREASURE_WORD;
EventBus.getDefault().post(obtain); obtain.obj = latLng;
EventBus.getDefault().post(obtain);
} else {
Message obtain = Message.obtain();
obtain.what = Constant.TREASURE_CHECKED_WORD;
obtain.obj = true;
EventBus.getDefault().post(obtain);
}
} }
}); });
checkBoxRight.setVisibility(View.GONE); checkBoxRight.setVisibility(View.GONE);
@ -270,54 +277,54 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
private void initShowPoi() { private void initShowPoi() {
// 添加信息 // 添加信息
showPoiEntity = (PoiEntity) getArguments().getSerializable("poiEntity"); showPoiEntity = (PoiEntity) getArguments().getSerializable("poiEntity");
if (showPoiEntity != null) { String name = showPoiEntity.getName();//名称
String name = showPoiEntity.getName();//名称 if (name != null && !name.equals("")) {
if (name != null && !name.equals("")) { editNameContent.setText(name + "");
editNameContent.setText(name + ""); }
} String address = showPoiEntity.getAddress();//地址
String address = showPoiEntity.getAddress();//地址 if (address != null && !address.equals("")) {
if (address != null && !address.equals("")) { editSiteContent.setText(address);
editSiteContent.setText(address); }
} String x = showPoiEntity.getX();
String x = showPoiEntity.getX(); String y = showPoiEntity.getY();
String y = showPoiEntity.getY(); if (x != null && y != null) {
if (x != null && y != null) { latLng = new LatLng();
latLng = new LatLng(); latLng.setLatitude(Double.parseDouble(y));
latLng.setLatitude(Double.parseDouble(y)); latLng.setLongitude(Double.parseDouble(x));
latLng.setLongitude(Double.parseDouble(x)); }
} String describe = showPoiEntity.getDescribe();//任务描述
String describe = showPoiEntity.getDescribe();//任务描述 if (describe != null && !describe.equals("")) {
if (describe != null && !describe.equals("")) { editDescribe.setText(describe);
editDescribe.setText(describe); }
} String telPhone = showPoiEntity.getTelPhone();
String telPhone = showPoiEntity.getTelPhone(); if (telPhone != null && !telPhone.equals("")) {
if (telPhone != null && !telPhone.equals("")) { phoneData.add(showPoiEntity.getTelPhone());
phoneData.add(showPoiEntity.getTelPhone()); poiBeans.add(new PoiBean("电话*", telPhone, R.drawable.icon_add_bg));
poiBeans.add(new PoiBean("电话*", telPhone, R.drawable.icon_add_bg));
poiRecycleAdapter.setList(poiBeans);
} } else {
linearExist.setVisibility(View.VISIBLE); poiBeans.add(new PoiBean("电话*", "", R.drawable.icon_add_bg));
if (showPoiEntity.getPhotoInfo() != null) { }
for (int i = 0; i < showPoiEntity.getPhotoInfo().size(); i++) { poiRecycleAdapter.setList(poiBeans);
String photo = showPoiEntity.getPhotoInfo().get(i).getPhoto(); linearExist.setVisibility(View.VISIBLE);
String[] split = photo.split("/"); if (showPoiEntity.getPhotoInfo() != null) {
if (split[split.length - 1].startsWith("a")) { for (int i = 0; i < showPoiEntity.getPhotoInfo().size(); i++) {
Glide.with(getActivity()).load(photo).into(ivPanorama); String photo = showPoiEntity.getPhotoInfo().get(i).getPhoto();
ivPanorama.setTag(photo); String[] split = photo.split("/");
} else if (split[split.length - 1].startsWith("b")) { if (split[split.length - 1].startsWith("a")) {
Glide.with(getActivity()).load(photo).into(ivName); Glide.with(getActivity()).load(photo).into(ivPanorama);
ivName.setTag(photo); ivPanorama.setTag(photo);
} else if (split[split.length - 1].startsWith("c")) { } else if (split[split.length - 1].startsWith("b")) {
Glide.with(getActivity()).load(photo).into(ivInternal); Glide.with(getActivity()).load(photo).into(ivName);
ivInternal.setTag(photo); ivName.setTag(photo);
} else if (split[split.length - 1].startsWith("d")) { } else if (split[split.length - 1].startsWith("c")) {
Glide.with(getActivity()).load(photo).into(ivCard); Glide.with(getActivity()).load(photo).into(ivInternal);
ivCard.setTag(photo); ivInternal.setTag(photo);
} else if (split[split.length - 1].startsWith("e")) { } else if (split[split.length - 1].startsWith("d")) {
Glide.with(getActivity()).load(photo).into(ivElse); Glide.with(getActivity()).load(photo).into(ivCard);
ivElse.setTag(photo); ivCard.setTag(photo);
} } else if (split[split.length - 1].startsWith("e")) {
Glide.with(getActivity()).load(photo).into(ivElse);
ivElse.setTag(photo);
} }
} }
} else { } else {
@ -372,7 +379,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
public void onGranted(List<String> permissions, boolean all) { public void onGranted(List<String> permissions, boolean all) {
if (all) { if (all) {
//保存数据库 //保存数据库
poiEntity = new PoiEntity(); PoiEntity poiEntity = showPoiEntity;
ArrayList<Info> infoPhoto = new ArrayList<>(); ArrayList<Info> infoPhoto = new ArrayList<>();
String name = editNameContent.getText().toString().trim();//名称 String name = editNameContent.getText().toString().trim();//名称
if (name == null || name.equals("")) { if (name == null || name.equals("")) {
@ -392,6 +399,8 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show();
return; return;
} else { } else {
String encode = Geohash.getInstance().encode(latLng.latitude,latLng.longitude);
poiEntity.setGeoWkt(encode);
poiEntity.setX(String.valueOf(latLng.longitude)); poiEntity.setX(String.valueOf(latLng.longitude));
poiEntity.setY(String.valueOf(latLng.latitude)); poiEntity.setY(String.valueOf(latLng.latitude));
} }
@ -435,11 +444,6 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
if (tagCard != null) { if (tagCard != null) {
infoPhoto.add(new Info(tagCard)); infoPhoto.add(new Info(tagCard));
} }
if (showPoiEntity!=null){
if (showPoiEntity.getTaskId()!=0){
poiEntity.setTaskId(showPoiEntity.getTaskId());
}
}
poiEntity.setPhotoInfo(infoPhoto); poiEntity.setPhotoInfo(infoPhoto);
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
@ -455,7 +459,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
poiDao.insertPoiEntity(poiEntity); poiDao.insertPoiEntity(poiEntity);
} }
}).start(); }).start();
poiSaveByNet(poiEntity); //poiSaveByNet(poiEntity);
onBackPressed(); onBackPressed();
} else { } else {
Toast.makeText(getActivity(), "没有申请权限,请手动申请", Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), "没有申请权限,请手动申请", Toast.LENGTH_SHORT).show();
@ -478,7 +482,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
obtain.what = Constant.TREASURE_FRAGMENT; obtain.what = Constant.TREASURE_FRAGMENT;
obtain.obj = false; obtain.obj = false;
EventBus.getDefault().post(obtain); EventBus.getDefault().post(obtain);
poiUploadByNetWork(poiEntity); poiUploadByNetWork(showPoiEntity);
break; break;
case R.id.tv_examine: case R.id.tv_examine:
Toast.makeText(getContext(), editNameContent.getText().toString(), Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), editNameContent.getText().toString(), Toast.LENGTH_SHORT).show();
@ -561,9 +565,8 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
httpParams.put("address", poiEntity.getAddress()); httpParams.put("address", poiEntity.getAddress());
} }
httpParams.put("existence", "1"); httpParams.put("existence", "1");
if (poiEntity.getY() != null && poiEntity.getX() != null) { if (poiEntity.getGeoWkt() !=null &&!poiEntity.getGeoWkt().equals("")) {
String encode = Geohash.getInstance().encode(Double.valueOf(poiEntity.getY()), Double.valueOf(poiEntity.getX())); httpParams.put("geo", poiEntity.getGeoWkt());
httpParams.put("geo", encode);
} }
if (poiEntity.getMemo() != null) { if (poiEntity.getMemo() != null) {
httpParams.put("memo", poiEntity.getMemo()); httpParams.put("memo", poiEntity.getMemo());
@ -604,7 +607,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
SharedPreferences.Editor edit = poi.edit(); SharedPreferences.Editor edit = poi.edit();
//根据要保存的数据的类型调用对应的put方法, //根据要保存的数据的类型调用对应的put方法,
PoiEntity poiEntity = new PoiEntity(); PoiEntity poiEntity = showPoiEntity;
ArrayList<Info> infoPhoto = new ArrayList<>(); ArrayList<Info> infoPhoto = new ArrayList<>();
String name = editNameContent.getText().toString().trim();//名称 String name = editNameContent.getText().toString().trim();//名称
if (name != null && !name.equals("")) { if (name != null && !name.equals("")) {
@ -645,8 +648,8 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
if (tagCard != null && !tagCard.equals("")) { if (tagCard != null && !tagCard.equals("")) {
infoPhoto.add(new Info(tagCard)); infoPhoto.add(new Info(tagCard));
} }
if (showPoiEntity!=null){ if (showPoiEntity != null) {
if (showPoiEntity.getTaskId()!=0){ if (showPoiEntity.getTaskId() != 0) {
poiEntity.setTaskId(showPoiEntity.getTaskId()); poiEntity.setTaskId(showPoiEntity.getTaskId());
} }
} }

View File

@ -60,6 +60,7 @@ import com.tencent.map.geolocation.TencentLocation;
import com.tencent.tencentmap.mapsdk.maps.CameraUpdate; import com.tencent.tencentmap.mapsdk.maps.CameraUpdate;
import com.tencent.tencentmap.mapsdk.maps.CameraUpdateFactory; import com.tencent.tencentmap.mapsdk.maps.CameraUpdateFactory;
import com.tencent.tencentmap.mapsdk.maps.MapView; import com.tencent.tencentmap.mapsdk.maps.MapView;
import com.tencent.tencentmap.mapsdk.maps.Projection;
import com.tencent.tencentmap.mapsdk.maps.TencentMap; import com.tencent.tencentmap.mapsdk.maps.TencentMap;
import com.tencent.tencentmap.mapsdk.maps.UiSettings; import com.tencent.tencentmap.mapsdk.maps.UiSettings;
import com.tencent.tencentmap.mapsdk.maps.interfaces.Removable; import com.tencent.tencentmap.mapsdk.maps.interfaces.Removable;
@ -102,7 +103,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
private ImageView ivRefish; private ImageView ivRefish;
private SlidingUpPanelLayout sliding_layout; private SlidingUpPanelLayout sliding_layout;
private FragmentTransaction fragmentTransaction; private FragmentTransaction fragmentTransaction;
private Marker marker; private Marker markerPoi;
private CheckBox cbFootType; private CheckBox cbFootType;
private ImageView ivFilter; private ImageView ivFilter;
private Point screenPosition; //marker的屏幕坐标 private Point screenPosition; //marker的屏幕坐标
@ -233,6 +234,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
JobSearchBean.BodyBean.ListBean listBean = (JobSearchBean.BodyBean.ListBean) marker.getTag(); JobSearchBean.BodyBean.ListBean listBean = (JobSearchBean.BodyBean.ListBean) marker.getTag();
PoiEntity poiListEntity = new PoiEntity(); PoiEntity poiListEntity = new PoiEntity();
poiListEntity.setTaskId(listBean.getId()); poiListEntity.setTaskId(listBean.getId());
poiListEntity.setGeoWkt(listBean.getGeo());
poiListEntity.setName(listBean.getName()); poiListEntity.setName(listBean.getName());
poiListEntity.setAddress(listBean.getAddress()); poiListEntity.setAddress(listBean.getAddress());
poiListEntity.setTelPhone(listBean.getTelephone() + ""); poiListEntity.setTelPhone(listBean.getTelephone() + "");
@ -253,6 +255,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
JobSearchBean.BodyBean.ListBean listBean = (JobSearchBean.BodyBean.ListBean) marker.getTag(); JobSearchBean.BodyBean.ListBean listBean = (JobSearchBean.BodyBean.ListBean) marker.getTag();
PoiEntity poiListEntity = new PoiEntity(); PoiEntity poiListEntity = new PoiEntity();
poiListEntity.setTaskId(listBean.getId()); poiListEntity.setTaskId(listBean.getId());
poiListEntity.setGeoWkt(listBean.getGeo());
poiListEntity.setName(listBean.getName()); poiListEntity.setName(listBean.getName());
poiListEntity.setAddress(listBean.getAddress()); poiListEntity.setAddress(listBean.getAddress());
poiListEntity.setTelPhone(listBean.getTelephone() + ""); poiListEntity.setTelPhone(listBean.getTelephone() + "");
@ -278,8 +281,8 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
} }
private void initList(TencentLocation tencentLocation) { private void initList(TencentLocation tencentLocation) {
int task_type=Constant.TASK_TYPE; int task_type = Constant.TASK_TYPE;
int limit_type=Constant.LIMIT_TTPE; int limit_type = Constant.LIMIT_TTPE;
int taskStatus = Constant.TASK_STASTUS; int taskStatus = Constant.TASK_STASTUS;
if (taskStatus == 1 || taskStatus == 2) { if (taskStatus == 1 || taskStatus == 2) {
Message obtain = Message.obtain(); Message obtain = Message.obtain();
@ -305,8 +308,8 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
.params("date", date) .params("date", date)
.params("pageSize", Constant.NUMBER) .params("pageSize", Constant.NUMBER)
.params("pageNum", "1") .params("pageNum", "1")
.params("type",task_type) .params("type", task_type)
.params("isExclusive",limit_type) .params("isExclusive", limit_type)
// .client(new OkHttpClient()) // .client(new OkHttpClient())
.execute(new DialogCallback<JobSearchBean>(JobSearchBean.class) { .execute(new DialogCallback<JobSearchBean>(JobSearchBean.class) {
@Override @Override
@ -447,8 +450,6 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
EventBus.getDefault().post(obtain); EventBus.getDefault().post(obtain);
return; return;
} }
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
@ -464,12 +465,14 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
showAllPoi.clear(); showAllPoi.clear();
showAllPoi.addAll(allTaskStatus); showAllPoi.addAll(allTaskStatus);
for (int i = 0; i < allTaskStatus.size(); i++) { for (int i = 0; i < allTaskStatus.size(); i++) {
LatLng position = new LatLng(Double.valueOf(allTaskStatus.get(i).getY()), Double.valueOf(allTaskStatus.get(i).getX())); if (allTaskStatus.get(i).getX() != null && allTaskStatus.get(i).getY() != null) {
Marker marker = tencentMap.addMarker(new MarkerOptions(position)); LatLng position = new LatLng(Double.valueOf(allTaskStatus.get(i).getY()), Double.valueOf(allTaskStatus.get(i).getX()));
marker.setClickable(true); Marker marker = tencentMap.addMarker(new MarkerOptions(position));
marker.setTitle("本地");//1本地 marker.setClickable(true);
marker.setTag(allTaskStatus.get(i)); marker.setTitle("本地");//1本地
removablesLocality.add(marker); marker.setTag(allTaskStatus.get(i));
removablesLocality.add(marker);
}
} }
Message obtain = Message.obtain(); Message obtain = Message.obtain();
obtain.what = Constant.JOB_SEARCH_POI_WORD; obtain.what = Constant.JOB_SEARCH_POI_WORD;
@ -659,20 +662,36 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
List<PoiEntity> poiEntities = (List<PoiEntity>) data.obj; List<PoiEntity> poiEntities = (List<PoiEntity>) data.obj;
initFilterMarker(poiEntities); initFilterMarker(poiEntities);
} else if (data.what == Constant.TREASURE_WORD) { // POI采集-移动位置 } else if (data.what == Constant.TREASURE_WORD) { // POI采集-移动位置
initPoiMarker(Boolean.valueOf((Boolean) data.obj), Constant.POI_WORD); initPoiMarker((LatLng) data.obj);
} else if (data.what == Constant.TREASURE_CHECKED_WORD) {//poi采集 -确定位置
if((boolean)data.obj){
initCheckedMarker(Constant.POI_WORD);
}
} else if (data.what == Constant.MAIN_CHARGING_STATION) {//充电站采集-移动位置 } else if (data.what == Constant.MAIN_CHARGING_STATION) {//充电站采集-移动位置
initPoiMarker(Boolean.valueOf((Boolean) data.obj), Constant.CHARGING_STATION_WORD); initPoiMarker((LatLng) data.obj);
} else if (data.what == Constant.MAIN_CHARGING_CHECKED_STATION) {//充电站采集 -确定位置
if((boolean)data.obj){
initCheckedMarker(Constant.CHARGING_STATION_WORD);
}
} else if (data.what == Constant.MAIN_CHARGING_PILE) {//充电桩采集-移动位置 } else if (data.what == Constant.MAIN_CHARGING_PILE) {//充电桩采集-移动位置
initPoiMarker(Boolean.valueOf((Boolean) data.obj), Constant.CHARGING_PILE_WORD); initPoiMarker((LatLng) data.obj);
} else if (data.what == Constant.MAIN_CHARGING_CHECKED_PILE) {//充电桩采集-确定位置
if((boolean)data.obj){
initCheckedMarker(Constant.CHARGING_PILE_WORD);
}
} else if (data.what == Constant.MAIN_OTHER) {//其他采集-移动位置 } else if (data.what == Constant.MAIN_OTHER) {//其他采集-移动位置
initPoiMarker(Boolean.valueOf((Boolean) data.obj), Constant.OTHER_WORD); initPoiMarker((LatLng) data.obj);
} else if (data.what == Constant.MAIN_CHECKED_OTHER) {//其他采集-确定位置
if((boolean)data.obj){
initCheckedMarker(Constant.OTHER_WORD);
}
} else if (data.what == Constant.TREASURE_FRAGMENT) { } else if (data.what == Constant.TREASURE_FRAGMENT) {
if ((boolean) data.obj == true) { if ((boolean) data.obj == true) {
frameLayout.setVisibility(View.GONE); frameLayout.setVisibility(View.GONE);
sliding_layout.setPanelHeight(0); sliding_layout.setPanelHeight(0);
sliding_layout.setPanelState(SlidingUpPanelLayout.PanelState.HIDDEN); sliding_layout.setPanelState(SlidingUpPanelLayout.PanelState.HIDDEN);
if (marker != null) { if (markerPoi != null) {
marker.remove(); markerPoi.remove();
} }
} }
} else if (data.what == Constant.MAIN_BUTTON_VISIABLE) { } else if (data.what == Constant.MAIN_BUTTON_VISIABLE) {
@ -726,6 +745,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
} }
} }
/** /**
* 控制主界面各个按钮的显示状态 * 控制主界面各个按钮的显示状态
*/ */
@ -750,45 +770,39 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
} }
private void initPoiMarker(Boolean t, int aInt) { private void initPoiMarker(LatLng latLng) {
if (t == true) { CameraUpdate cameraSigma = CameraUpdateFactory.newCameraPosition(new CameraPosition(
//移动地图 latLng, //中心点坐标地图目标经纬度
CameraUpdate cameraSigma = tencentMap.getCameraPosition().zoom, //目标缩放级别
CameraUpdateFactory.newCameraPosition(new CameraPosition( tencentMap.getCameraPosition().tilt, //目标倾斜角[0.0 ~ 45.0] (垂直地图时为0)
Constant.markerLatlng, //中心点坐标地图目标经纬度 tencentMap.getCameraPosition().bearing)); //目标旋转角 0~360° (正北方为0)
tencentMap.getCameraPosition().zoom, //目标缩放级别 tencentMap.animateCamera(cameraSigma, new TencentMap.CancelableCallback() {
tencentMap.getCameraPosition().tilt, //目标倾斜角[0.0 ~ 45.0] (垂直地图时为0) @Override
tencentMap.getCameraPosition().bearing)); //目标旋转角 0~360° (正北方为0) public void onFinish() {
tencentMap.animateCamera(cameraSigma, new TencentMap.CancelableCallback() { screenPosition = tencentMap.getProjection().toScreenLocation(latLng);
@Override
public void onFinish() {
screenPosition = tencentMap.getProjection().toScreenLocation(Constant.markerLatlng);
sliding_layout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
//创建Marker对象之前设置属性
LatLng position = Constant.markerLatlng;
marker = tencentMap.addMarker(new MarkerOptions(position));
marker.setFixingPoint(screenPosition.x, screenPosition.y);
}
@Override
public void onCancel() {
}
});
} else {
if (screenPosition != null) {
sliding_layout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); sliding_layout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
LatLng latLng = tencentMap.getProjection().fromScreenLocation(screenPosition); //创建Marker对象之前设置属性
marker.setPosition(latLng); markerPoi.setFixingPoint(screenPosition.x, screenPosition.y);
marker.setFixingPointEnable(false);
Constant.markerLatlng = latLng;
Message obtain = Message.obtain();
obtain.what = aInt;
obtain.obj = latLng;
EventBus.getDefault().post(obtain);
} }
@Override
public void onCancel() {
}
});
}
private void initCheckedMarker(int poiWord) {
if (screenPosition != null) {
sliding_layout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
LatLng latLng = tencentMap.getProjection().fromScreenLocation(screenPosition);
markerPoi.setPosition(latLng);
markerPoi.setFixingPointEnable(false);
Constant.markerLatlng = latLng;
Message obtain = Message.obtain();
obtain.what = poiWord;
obtain.obj = latLng;
EventBus.getDefault().post(obtain);
} }
} }
@ -796,7 +810,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
* 设置定位图标样式 * 设置定位图标样式
*/ */
private void setLocMarkerStyle() { private void setLocMarkerStyle() {
locationStyle= new MyLocationStyle(); locationStyle = new MyLocationStyle();
locationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_FOLLOW_NO_CENTER); locationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_FOLLOW_NO_CENTER);
//创建图标 //创建图标
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(getBitMap(R.drawable.location)); BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(getBitMap(R.drawable.location));
@ -871,6 +885,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
public void onDestroy() { public void onDestroy() {
super.onDestroy(); super.onDestroy();
treasureMap.onDestroy(); treasureMap.onDestroy();
markerPoi.remove();
EventBus.getDefault().unregister(this); EventBus.getDefault().unregister(this);
} }
@ -913,12 +928,19 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
itemList.add(new ShareDialog.Item(getContext(), R.drawable.push_road, "道路")); itemList.add(new ShareDialog.Item(getContext(), R.drawable.push_road, "道路"));
itemList.add(new ShareDialog.Item(getContext(), R.drawable.push_chongdianzhuang, "充电站")); itemList.add(new ShareDialog.Item(getContext(), R.drawable.push_chongdianzhuang, "充电站"));
itemList.add(new ShareDialog.Item(getContext(), R.drawable.push_qingbao, "其他")); itemList.add(new ShareDialog.Item(getContext(), R.drawable.push_qingbao, "其他"));
Bundle bundle = new Bundle();
PoiEntity poiEntity = new PoiEntity();
LatLng mapCenterPoint = getMapCenterPoint();
poiEntity.setX(mapCenterPoint.longitude + "");
poiEntity.setY(mapCenterPoint.latitude + "");
bundle.putSerializable("poiEntity", poiEntity);
ShareDialog.show((AppCompatActivity) getActivity(), itemList, new ShareDialog.OnItemClickListener() { ShareDialog.show((AppCompatActivity) getActivity(), itemList, new ShareDialog.OnItemClickListener() {
@Override @Override
public boolean onClick(ShareDialog shareDialog, int index, ShareDialog.Item item) { public boolean onClick(ShareDialog shareDialog, int index, ShareDialog.Item item) {
switch (index) { switch (index) {
case 0: case 0:
PoiFragment poiFragment = PoiFragment.newInstance(new Bundle()); markerPoi = tencentMap.addMarker(new MarkerOptions(mapCenterPoint));
PoiFragment poiFragment = PoiFragment.newInstance(bundle);
showSlidingFragment(poiFragment); showSlidingFragment(poiFragment);
break; break;
case 1: case 1:
@ -930,11 +952,13 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
showSlidingFragment(roadFragment); showSlidingFragment(roadFragment);
break; break;
case 3: case 3:
ChargingStationFragment chargingStationFragment = ChargingStationFragment.newInstance(new Bundle()); markerPoi = tencentMap.addMarker(new MarkerOptions(mapCenterPoint));
ChargingStationFragment chargingStationFragment = ChargingStationFragment.newInstance(bundle);
showSlidingFragment(chargingStationFragment); showSlidingFragment(chargingStationFragment);
break; break;
case 4: case 4:
OtherFragment otherFragment = OtherFragment.newInstance(new Bundle()); markerPoi = tencentMap.addMarker(new MarkerOptions(mapCenterPoint));
OtherFragment otherFragment = OtherFragment.newInstance(bundle);
showSlidingFragment(otherFragment); showSlidingFragment(otherFragment);
break; break;
} }
@ -945,8 +969,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
case R.id.iv_filter: case R.id.iv_filter:
initThread(); initThread();
initList(Constant.currentLocation); initList(Constant.currentLocation);
Bundle bundle = new Bundle(); FilterFragment filterFragment = FilterFragment.newInstance(new Bundle());
FilterFragment filterFragment = FilterFragment.newInstance(bundle);
showSlidingFragment(filterFragment); showSlidingFragment(filterFragment);
break; break;
case R.id.iv_message: case R.id.iv_message:
@ -1063,7 +1086,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
* *
* @return * @return
*/ */
public LatLng getMapCenterPoint() { public LatLng getMapCenter() {
// int left = treasureMap.getLeft(); // int left = treasureMap.getLeft();
// int top = treasureMap.getTop(); // int top = treasureMap.getTop();
// int right = treasureMap.getRight(); // int right = treasureMap.getRight();
@ -1076,4 +1099,23 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
return tencentMap.getCameraPosition().target; return tencentMap.getCameraPosition().target;
} }
/**
* 获取屏幕中心点位置
*
* @return
*/
public LatLng getMapCenterPoint() {
int left = treasureMap.getLeft();
int top = treasureMap.getTop();
int right = treasureMap.getRight();
int bottom = treasureMap.getBottom();
// 获得屏幕点击的位置
int x = (int) (treasureMap.getX() + (right - left) / 2);
int y = (int) (treasureMap.getY() + (bottom - top) / 2);
Projection projection = tencentMap.getProjection();
LatLng pt = projection.fromScreenLocation(new Point(x, y));
return pt;
}
} }

View File

@ -58,23 +58,29 @@ public class HttpInterface {
public static final String IPm7 = "http://172.23.139.4:8003/poitask/1/"; public static final String IPm7 = "http://172.23.139.4:8003/poitask/1/";
//172.23.139.4:8003/poitask/1/receivedPoitask/1 //172.23.139.4:8003/poitask/1/receivedPoitask/1
public static final String RECEIVED_POI_TASK = IPm7+"receivedPoitask/1";//poi-领取任务 public static final String RECEIVED_POI_TASK = IPm7 + "receivedPoitask/1";//poi-领取任务
public static final String IPm10 = "http://172.23.139.4:8003/ctask/1/receivedCtask/8608";
public static final String IPm8 = "http://172.23.139.4:8003/poitask/1/"; public static final String IPm8 = "http://172.23.139.4:8003/poitask/1/";
//172.23.139.4:8003/poitask/1/submitPoitask?taskId=5001&name=测试修改名称&address=测试修改地址&existence=1&geo=1rn7exd5uhxy&memo=测试备注 //172.23.139.4:8003/poitask/1/submitPoitask?taskId=5001&name=测试修改名称&address=测试修改地址&existence=1&geo=1rn7exd5uhxy&memo=测试备注
public static final String SUBMIT_POI_TASK = IPm8+"submitPoitask";//poi-保存本地 public static final String SUBMIT_POI_TASK = IPm8 + "submitPoitask";//poi-保存本地
public static final String IPm9 = "http://172.23.139.4:8003/othertask/1/"; public static final String IPm9 = "http://172.23.139.4:8003/othertask/1/";
//172.23.139.4:8003/othertask/1/submitOhtertask?taskId=5001&name=测试修改名称&address=测试修改地址&existence=1&geo=1rn7exd5uhxy&memo=测试备注 //172.23.139.4:8003/othertask/1/submitOhtertask?taskId=5001&name=测试修改名称&address=测试修改地址&existence=1&geo=1rn7exd5uhxy&memo=测试备注
public static final String SUBMIT_OTHER_TASK = IPm9+"submitOthertask";//其他-保存本地
//172.23.139.4:8003/ctask/1/receivedCtask/8608 public static final String SUBMIT_OTHER_TASK = IPm9 + "submitOthertask";//其他-保存本地
public static final String RECEIVED_CTASK = IPm10+"receivedCtask/8608";//充电站-领取任务
/*172.23.139.4:8003/polygonTask/1/receivedPolygontask/8602
172.23.139.4:8003/polygonTask/1/unReceivedPolygontask/8602
172.23.139.4:8003/polygonTask/1/complete/8602
172.23.139.4:8003/polygonTask/1/submitPolygontask?id=8602*/
public static final String IPm10="http://172.23.139.4:8003/polygonTask/1/";
public static final String RECEIVED_POLYGON_TASK=IPm10+"receivedPolygontask"; //任务领取
public static final String UNRECEIVED_POLYGON_TASK=IPm10+"unReceivedPolygontask";//结束领取
public static final String COMPLETE=IPm10+"complete";//任务采集
public static final String SUBMIT_POLYGON_TASK=IPm10+"submitPolygontask";//结束采集
} }

View File

@ -25,10 +25,14 @@ public interface PoiDao {
@Query("SELECT * FROM poi where type=:type") @Query("SELECT * FROM poi where type=:type")
List<PoiEntity> getAllPoiType(int type); List<PoiEntity> getAllPoiType(int type);
@Query("SELECT * FROM poi WHERE (:taskStatus =-1 or taskStatus=:taskStatus1) and (:type=-1 or type=:type1) and (:isExclusive=-1 or isExclusive=:isExclusive1) ") @Query("SELECT * FROM poi WHERE (:taskStatus =-1 or taskStatus=:taskStatus1) and (:type=-1 or type=:type1) and (:isExclusive=-1 or isExclusive=:isExclusive1) ")
// @Query("SELECT * FROM poi WHERE taskStatus=:taskStatus and type=:type and (:isExclusive=-1 or isExclusive=:isExclusive) ") // @Query("SELECT * FROM poi WHERE taskStatus=:taskStatus and type=:type and (:isExclusive=-1 or isExclusive=:isExclusive) ")
List<PoiEntity> getAllTaskStatus(int taskStatus, int taskStatus1, int type, int type1, int isExclusive, int isExclusive1); List<PoiEntity> getAllTaskStatus(int taskStatus, int taskStatus1, int type, int type1, int isExclusive, int isExclusive1);
@Query("SELECT * FROM poi where taskId=:taskId")
PoiEntity getPoiEntity(int taskId);
/** /**
* 添加 * 添加
* *
@ -70,6 +74,14 @@ public interface PoiDao {
void deleteFormName(int taskStatus); void deleteFormName(int taskStatus);
/**
* 根据条件删除
*
* @param taskId
*/
@Query("DELETE FROM poi where taskId=:taskId")
void deleteFormTaskID(int taskId);
/** /**
* 全部删除 * 全部删除
*/ */

View File

@ -30,6 +30,15 @@ public class PoiEntity implements Serializable {
private String photo;//照片信息 private String photo;//照片信息
private String extend;//添加字段 private String extend;//添加字段
private boolean checked; private boolean checked;
private String geoWkt; // 数据的wkt
public String getGeoWkt() {
return geoWkt;
}
public void setGeoWkt(String geoWkt) {
this.geoWkt = geoWkt;
}
public boolean isChecked() { public boolean isChecked() {
return checked; return checked;