Commit e914d4cf by Luosp

修复使用聚合时,没有设置数据源crash问题

parent 6d4d2c2f
...@@ -8,19 +8,13 @@ import android.widget.Toast; ...@@ -8,19 +8,13 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
import cn.com.founder.arcgislib.ArcGisFounder; import cn.com.founder.arcgislib.ArcGisFounder;
import cn.com.founder.arcgislib.cluster.option.IArcGisClusterOption;
import cn.com.founder.arcgislib.compass.option.IArcGisCompassOption; import cn.com.founder.arcgislib.compass.option.IArcGisCompassOption;
import cn.com.founder.arcgislib.location.option.IArcGisLocationOption; import cn.com.founder.arcgislib.location.option.IArcGisLocationOption;
import cn.com.founder.arcgislib.model.PointModel;
import cn.com.founder.arcgislib.model.SearchModel; import cn.com.founder.arcgislib.model.SearchModel;
import cn.com.founder.arcgislib.search.listener.ISearchSelectedListener; import cn.com.founder.arcgislib.search.listener.ISearchSelectedListener;
import cn.com.founder.arcgislib.search.option.IArcGisSearchOption; import cn.com.founder.arcgislib.search.option.IArcGisSearchOption;
import cn.com.founder.arcgislib.view.ArcGisBaseView; import cn.com.founder.arcgislib.view.ArcGisBaseView;
import cn.com.founder.arcgislib.view.ArcGisClusterView;
import cn.com.founder.arcgislib.zoom.listener.IZoomClickListener; import cn.com.founder.arcgislib.zoom.listener.IZoomClickListener;
import cn.com.founder.arcgislib.zoom.option.IArcGisZoomOption; import cn.com.founder.arcgislib.zoom.option.IArcGisZoomOption;
...@@ -98,7 +92,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -98,7 +92,7 @@ public class MainActivity extends AppCompatActivity {
// iArcGisLocationOption.setFollowMapViewPoint(true); // iArcGisLocationOption.setFollowMapViewPoint(true);
//隐藏poi信息 //隐藏poi信息
iArcGisLocationOption.getCalloutContentBuilder().setmPoiHide(true); iArcGisLocationOption.getCalloutContentBuilder().setmPoiHide(true);
iArcGisLocationOption.setGeoDistance(0.5);
iArcGisLocationOption.setLocationChangeListener(locationModel -> { iArcGisLocationOption.setLocationChangeListener(locationModel -> {
Toast.makeText(MainActivity.this, "X:" + locationModel.getXPoint() Toast.makeText(MainActivity.this, "X:" + locationModel.getXPoint()
+ "\nY:" + locationModel.getYPoint() + "\nY:" + locationModel.getYPoint()
...@@ -136,23 +130,24 @@ public class MainActivity extends AppCompatActivity { ...@@ -136,23 +130,24 @@ public class MainActivity extends AppCompatActivity {
}); });
IArcGisClusterOption iArcGisClusterOption = arcGisFounder.arcGisClusterOption(); // IArcGisClusterOption iArcGisClusterOption = arcGisFounder.arcGisClusterOption();
ArcGisClusterView.ClusterStyleBuilder clusterStyleBuilder = iArcGisClusterOption.getClusterStyleBuilder(); //
clusterStyleBuilder.setmClusterCircleBg(R.color.blue); // ArcGisClusterView.ClusterStyleBuilder clusterStyleBuilder = iArcGisClusterOption.getClusterStyleBuilder();
// clusterStyleBuilder.setmClusterCircleBg(R.color.blue);
List<PointModel> pointList = new ArrayList<>(); //
pointList.add(new PointModel(113.935576,22.995918)); // List<PointModel> pointList = new ArrayList<>();
pointList.add(new PointModel(113.959722,23.000176)); // pointList.add(new PointModel(113.935576,22.995918));
pointList.add(new PointModel(113.97582,22.949069)); // pointList.add(new PointModel(113.959722,23.000176));
pointList.add(new PointModel(113.952823,22.916051)); // pointList.add(new PointModel(113.97582,22.949069));
pointList.add(new PointModel(114.019513,22.951198)); // pointList.add(new PointModel(113.952823,22.916051));
iArcGisClusterOption.setCluseterData(pointList); // pointList.add(new PointModel(114.019513,22.951198));
iArcGisClusterOption.setIClusterPointInfoListener(locationModel -> Toast.makeText(MainActivity.this, "X:" + locationModel.getXPoint() // iArcGisClusterOption.setCluseterData(pointList);
+ "\nY:" + locationModel.getYPoint() // iArcGisClusterOption.setIClusterPointInfoListener(locationModel -> Toast.makeText(MainActivity.this, "X:" + locationModel.getXPoint()
+ "\n地址:" + locationModel.getAddress() // + "\nY:" + locationModel.getYPoint()
+ "\nPoi:" + locationModel.getPoi() // + "\n地址:" + locationModel.getAddress()
+ "\n补充信息:" + locationModel.getExtraInfo() // + "\nPoi:" + locationModel.getPoi()
, Toast.LENGTH_LONG).show()); // + "\n补充信息:" + locationModel.getExtraInfo()
// , Toast.LENGTH_LONG).show());
} }
} }
...@@ -62,6 +62,7 @@ dependencies { ...@@ -62,6 +62,7 @@ dependencies {
api 'com.esri.arcgisruntime:arcgis-android:100.6.0' api 'com.esri.arcgisruntime:arcgis-android:100.6.0'
//权限 //权限
implementation 'com.yanzhenjie:permission:2.0.3' implementation 'com.yanzhenjie:permission:2.0.3'
//日志
implementation 'com.jakewharton.timber:timber:4.5.1' implementation 'com.jakewharton.timber:timber:4.5.1'
implementation 'com.google.code.gson:gson:2.8.5' implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.mapzen.android:lost:2.1.2' implementation 'com.mapzen.android:lost:2.1.2'
......
...@@ -9,7 +9,7 @@ package cn.com.founder.arcgislib.constants; ...@@ -9,7 +9,7 @@ package cn.com.founder.arcgislib.constants;
*/ */
public class Constants { public class Constants {
/*****************************************互联网********************************************* /*****************************************互联网*********************************************/
//互联网-地图 //互联网-地图
private static String baseUrl = "http://47.92.225.109:6080/arcgis/rest/services/founder/dg20191120/MapServer"; private static String baseUrl = "http://47.92.225.109:6080/arcgis/rest/services/founder/dg20191120/MapServer";
//互联网-Geo //互联网-Geo
...@@ -49,7 +49,7 @@ public class Constants { ...@@ -49,7 +49,7 @@ public class Constants {
// /*****************************************公安网*********************************************** /*****************************************公安网***********************************************
//公安网-地图 //公安网-地图
private static String baseUrl = "http://68.174.69.45:6080/arcgis/rest/services/founder/dg20191120/MapServer"; private static String baseUrl = "http://68.174.69.45:6080/arcgis/rest/services/founder/dg20191120/MapServer";
//公安网-Geo //公安网-Geo
......
...@@ -163,10 +163,6 @@ public class ArcGisClusterView extends LinearLayout implements View.OnClickListe ...@@ -163,10 +163,6 @@ public class ArcGisClusterView extends LinearLayout implements View.OnClickListe
this.mMapView = mArcGisMapView.getMapView(); this.mMapView = mArcGisMapView.getMapView();
this.mArcGisLocationView = arcGisLocationView; this.mArcGisLocationView = arcGisLocationView;
this.graphicsOverlay = arcGisMapView.getClusterGraphicsOverlay(); this.graphicsOverlay = arcGisMapView.getClusterGraphicsOverlay();
if(mArcGisLocationView != null){
mArcGisLocationView.isUseCluster = true;
}
arcGisMapView.setMyTouchClusterListener(this); arcGisMapView.setMyTouchClusterListener(this);
mCalloutStyleBuilder = new CalloutStyleBuilder(context); mCalloutStyleBuilder = new CalloutStyleBuilder(context);
mCalloutContentBuilder = new CalloutContentBuilder(); mCalloutContentBuilder = new CalloutContentBuilder();
...@@ -254,6 +250,10 @@ public class ArcGisClusterView extends LinearLayout implements View.OnClickListe ...@@ -254,6 +250,10 @@ public class ArcGisClusterView extends LinearLayout implements View.OnClickListe
clusterLayer.setGraphicVisible(true); clusterLayer.setGraphicVisible(true);
isClean = true; isClean = true;
isFirstCreate = false; isFirstCreate = false;
if(mArcGisLocationView != null){
mArcGisLocationView.isUseCluster = true;
}
} }
}); });
...@@ -340,6 +340,13 @@ public class ArcGisClusterView extends LinearLayout implements View.OnClickListe ...@@ -340,6 +340,13 @@ public class ArcGisClusterView extends LinearLayout implements View.OnClickListe
@Override @Override
public void onSingleTap(MotionEvent motionEvent) { public void onSingleTap(MotionEvent motionEvent) {
if(clusterLayer == null){
if(mArcGisLocationView != null){
mArcGisLocationView.isUseCluster = false;
}
return;
}
final android.graphics.Point screenPoint = new android.graphics.Point( final android.graphics.Point screenPoint = new android.graphics.Point(
(int) motionEvent.getX(), (int) motionEvent.getX(),
(int) motionEvent.getY()); (int) motionEvent.getY());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment