From 8a9fc88104727c821832dfdaec4f66901c66bdb8 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期四, 18 六月 2020 17:48:14 +0800
Subject: [PATCH] 车辆动态绘制,根据坐标点和角度
---
app/src/main/java/safeluck/drive/evaluation/app.java | 1
app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java | 36 ++++++++++-------
app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java | 36 +++++++++++++++---
app/src/main/java/safeluck/drive/evaluation/util/Utils.java | 6 ++-
4 files changed, 56 insertions(+), 23 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index e04c9b2..3c2f9aa 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -270,6 +270,7 @@
@Override
public void run() {
Toast.makeText(appContext, "缂哄皯鍦鸿�冨湴鍥撅紝璇峰墠寰�\"璁剧疆\"閫夋嫨鍦板浘", Toast.LENGTH_SHORT).show();
+
}
});
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
index 7a2a4d5..659e551 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -109,22 +109,28 @@
break;
case R.id.exit_sys:
- MyDialog myDialog = MyDialog.Companion.newInstance("鎮ㄥ皢閫�鍑虹郴缁�,璇风‘璁ゆ暟鎹凡淇濆瓨");
+// MyDialog myDialog = MyDialog.Companion.newInstance("鎮ㄥ皢閫�鍑虹郴缁�,璇风‘璁ゆ暟鎹凡淇濆瓨");
+//
+// myDialog.setOnClick(new MyDialog.MyOnClickListener() {
+// @Override
+// public void onSure() {
+// _mActivity.finish();
+//
+// }
+//
+// @Override
+// public void onCancle() {
+//
+// }
+// });
+//
+// myDialog.show(getFragmentManager(),"mydialog");
- myDialog.setOnClick(new MyDialog.MyOnClickListener() {
- @Override
- public void onSure() {
- _mActivity.finish();
-
- }
-
- @Override
- public void onCancle() {
-
- }
- });
-
- myDialog.show(getFragmentManager(),"mydialog");
+ JiaXiaoFragment jiaXiaoFragment = findFragment(JiaXiaoFragment.class);
+ if (jiaXiaoFragment == null) {
+ jiaXiaoFragment = (JiaXiaoFragment) JiaXiaoFragment.newInstance();
+ }
+ start(jiaXiaoFragment);
break;
case R.id.system_setting:
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java
index 36866fd..454809f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java
@@ -3,6 +3,8 @@
import android.graphics.Color;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -53,6 +55,9 @@
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.R;
@@ -75,12 +80,27 @@
private static final String TAG = JiaXiaoFragment.class.getSimpleName();
private MapView mMapView ;
+ private static final int MSG_CAR = 100;
+ double yaw = 0;
GraphicsOverlay mGraphicsOverlay;
+ private int count =0;
+ private double startX = -8647.003,startY = 14590.7213;
+ private Handler mHandler = new Handler(){
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what){
+ case MSG_CAR:
+ count++;
+ yaw +=count;
+ addGraphicLayer(yaw,startX+count,startY+count);
+ sendEmptyMessageDelayed(MSG_CAR,1000);
+ break;
+ }
+ }
+ };
PointCollection mPointCollection = new PointCollection(SpatialReference.create(4544));
-
-
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -91,7 +111,9 @@
setupMap();
addTrailheadsLayer();
// addImageLayer();
- addGraphicLayer();
+
+ mHandler.sendEmptyMessageDelayed(MSG_CAR,1000);
+
// drawPolygon();
return view;
}
@@ -128,11 +150,13 @@
}
});
+
+
}
- private void addGraphicLayer(){
+ private void addGraphicLayer(double yaw,double x,double y){
SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.rgb(232,0,0), 0.5f);
SimpleFillSymbol simpleFillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.argb(255,232,0,0), lineSymbol);
@@ -144,7 +168,7 @@
Log.i(TAG,"giscar="+buffer.toString());
GisCarModel gisCarModel= new Gson().fromJson(buffer.toString(),GisCarModel.class);
// List<safeluck.drive.evaluation.bean.Point> carNew=Utils.getCarPoint(0,45,new safeluck.drive.evaluation.bean.Point(-8633.77199999988,14471.793700000271));
- List<safeluck.drive.evaluation.bean.Point> carNew=Utils.getCarPoint(0,45,new safeluck.drive.evaluation.bean.Point(-8647.003,14590.7213));
+ List<safeluck.drive.evaluation.bean.Point> carNew=Utils.getCarPoint(0,yaw,new safeluck.drive.evaluation.bean.Point(x,y));
List<Integer> bodys =gisCarModel.getBody();
for (int i = 0; i <bodys.size(); i++) {
Log.i(TAG,String.format("杞﹁韩鐐逛綅缃細%d",bodys.get(i)));
@@ -163,7 +187,7 @@
drawrightCenterGls(gisCarModel,carNew);
- drawPoint(new Point(-8647.003,14590.7213));
+ drawPoint(new Point(x,y));
}
});
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
index 81a5347..2c1ab57 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -692,7 +692,7 @@
public static List<Point> getCarPoint(double pitch,double yaw,Point point){
pitch = 0;
- yaw = 45;
+// yaw = 45;
Point main_ant = point;
List<Point> carNew = new ArrayList<>();
StringBuffer buffer=FileUtil.readAssetTxtFile(app.getAppContext(),"giscar.json");
@@ -708,7 +708,9 @@
}
- List<CarModel> carModels = getCarModelData(new Point(-9151.5063, 13030.5118),gisCarModel.getAxial(),pointList);
+ double mainAnt_x = gisCarModel.getMain_ant().get(0);
+ double mainAnt_y = gisCarModel.getMain_ant().get(1);
+ List<CarModel> carModels = getCarModelData(new Point(mainAnt_x, mainAnt_y),gisCarModel.getAxial(),pointList);
if (carModels != null && carModels.size()>0){
for (int i = 0; i < carModels.size(); ++i) {
--
Gitblit v1.8.0