Commit 14af1553 by luo_sp

增加批量导入点功能(List)

parent 5728e76f
...@@ -7,9 +7,13 @@ import android.widget.Toast; ...@@ -7,9 +7,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.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.view.ArcGisBaseView; import cn.com.founder.arcgislib.view.ArcGisBaseView;
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;
...@@ -65,8 +69,15 @@ public class MainActivity extends AppCompatActivity { ...@@ -65,8 +69,15 @@ public class MainActivity extends AppCompatActivity {
// iArcGisLocationOption.startLocation(0); // iArcGisLocationOption.startLocation(0);
//手动定位 //手动定位
iArcGisLocationOption.startLocation(113.75179,23.02067,0); iArcGisLocationOption.startLocation(113.75179,23.02067,0);
//开启导入 //开启TXT导入
iArcGisLocationOption.setShowImportLayout(true); iArcGisLocationOption.setShowTXTImportLayout(true);
List<PointModel> pointModels = new ArrayList<>();
pointModels.add(new PointModel(113.935576,22.995918));
pointModels.add(new PointModel(113.959722,23.000176));
pointModels.add(new PointModel(113.97582,22.949069));
pointModels.add(new PointModel(113.952823,22.916051));
pointModels.add(new PointModel(114.019513,22.951198));
iArcGisLocationOption.setImportPointData(pointModels);
//移动地图获取中心点 //移动地图获取中心点
// iArcGisLocationOption.setFollowMapViewPoint(true); // iArcGisLocationOption.setFollowMapViewPoint(true);
//隐藏poi信息 //隐藏poi信息
......
package cn.com.founder.arcgislib.location; package cn.com.founder.arcgislib.location;
import java.util.List;
import cn.com.founder.arcgislib.common.Variable; import cn.com.founder.arcgislib.common.Variable;
import cn.com.founder.arcgislib.location.listener.ILocationChangeListener; import cn.com.founder.arcgislib.location.listener.ILocationChangeListener;
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.view.ArcGisLocationView; import cn.com.founder.arcgislib.view.ArcGisLocationView;
import cn.com.founder.arcgislib.view.ArcGisMapView; import cn.com.founder.arcgislib.view.ArcGisMapView;
...@@ -73,8 +76,8 @@ public class ArcGisLocation implements IArcGisLocationOption { ...@@ -73,8 +76,8 @@ public class ArcGisLocation implements IArcGisLocationOption {
* @param isShow boolean-是否显示导入布局 * @param isShow boolean-是否显示导入布局
*/ */
@Override @Override
public IArcGisLocationOption setShowImportLayout(boolean isShow) { public IArcGisLocationOption setShowTXTImportLayout(boolean isShow) {
mArcGisLocationView.setShowImportLayout(isShow); mArcGisLocationView.setShowTXTImportLayout(isShow);
return this; return this;
} }
...@@ -132,6 +135,15 @@ public class ArcGisLocation implements IArcGisLocationOption { ...@@ -132,6 +135,15 @@ public class ArcGisLocation implements IArcGisLocationOption {
} }
/** /**
* @param pointModelList 导入点数据{@link PointModel}
*/
@Override
public IArcGisLocationOption setImportPointData(List<PointModel> pointModelList) {
mArcGisLocationView.setImportPointData(pointModelList);
return this;
}
/**
* @param isFollow 设置是否跟随地图获取中心点 * @param isFollow 设置是否跟随地图获取中心点
*/ */
@Override @Override
......
package cn.com.founder.arcgislib.location.option; package cn.com.founder.arcgislib.location.option;
import java.util.List;
import cn.com.founder.arcgislib.common.Variable; import cn.com.founder.arcgislib.common.Variable;
import cn.com.founder.arcgislib.location.listener.ILocationChangeListener; import cn.com.founder.arcgislib.location.listener.ILocationChangeListener;
import cn.com.founder.arcgislib.model.PointModel;
import cn.com.founder.arcgislib.view.ArcGisLocationView; import cn.com.founder.arcgislib.view.ArcGisLocationView;
/** /**
...@@ -46,10 +49,10 @@ public interface IArcGisLocationOption { ...@@ -46,10 +49,10 @@ public interface IArcGisLocationOption {
IArcGisLocationOption setShowLocationLayout(boolean isShow); IArcGisLocationOption setShowLocationLayout(boolean isShow);
/** /**
* @param isShow boolean-是否显示导入布局 * @param isShow boolean-是否显示导入TXT布局
* 默认隐藏 * 默认隐藏
*/ */
IArcGisLocationOption setShowImportLayout(boolean isShow); IArcGisLocationOption setShowTXTImportLayout(boolean isShow);
/** /**
* @param location {@link Variable.ViewLocation } LocationView显示位置 * @param location {@link Variable.ViewLocation } LocationView显示位置
...@@ -76,6 +79,11 @@ public interface IArcGisLocationOption { ...@@ -76,6 +79,11 @@ public interface IArcGisLocationOption {
* @param labelLocationSelectedImage int(资源ID)-标记位置选中图片 * @param labelLocationSelectedImage int(资源ID)-标记位置选中图片
*/ */
IArcGisLocationOption setLabelLocationSelectedImage(int labelLocationSelectedImage); IArcGisLocationOption setLabelLocationSelectedImage(int labelLocationSelectedImage);
/**
* @param pointModelList 导入点数据{@link PointModel}
*/
IArcGisLocationOption setImportPointData(List<PointModel> pointModelList);
/** /**
* @param isFollow 设置是否跟随地图获取中心点 * @param isFollow 设置是否跟随地图获取中心点
* 默认不跟随 * 默认不跟随
......
...@@ -66,6 +66,7 @@ import cn.com.founder.arcgislib.common.Variable; ...@@ -66,6 +66,7 @@ import cn.com.founder.arcgislib.common.Variable;
import cn.com.founder.arcgislib.constants.Constants; import cn.com.founder.arcgislib.constants.Constants;
import cn.com.founder.arcgislib.location.listener.ILocationChangeListener; import cn.com.founder.arcgislib.location.listener.ILocationChangeListener;
import cn.com.founder.arcgislib.model.LocationModel; import cn.com.founder.arcgislib.model.LocationModel;
import cn.com.founder.arcgislib.model.PointModel;
import cn.com.founder.arcgislib.utils.GsonUtil; import cn.com.founder.arcgislib.utils.GsonUtil;
import cn.com.founder.arcgislib.utils.PermissionUtil; import cn.com.founder.arcgislib.utils.PermissionUtil;
import cn.com.founder.arcgislib.utils.ToolUtil; import cn.com.founder.arcgislib.utils.ToolUtil;
...@@ -283,10 +284,10 @@ public class ArcGisLocationView extends LinearLayout implements View.OnClickList ...@@ -283,10 +284,10 @@ public class ArcGisLocationView extends LinearLayout implements View.OnClickList
} }
/** /**
* @param isShow boolean-是否显示导入布局 * @param isShow boolean-是否显示TXT导入布局
* 默认不显示 * 默认不显示
*/ */
public void setShowImportLayout(boolean isShow) { public void setShowTXTImportLayout(boolean isShow) {
if (isShow) { if (isShow) {
mImportIv.setVisibility(VISIBLE); mImportIv.setVisibility(VISIBLE);
} else { } else {
...@@ -575,6 +576,43 @@ public class ArcGisLocationView extends LinearLayout implements View.OnClickList ...@@ -575,6 +576,43 @@ public class ArcGisLocationView extends LinearLayout implements View.OnClickList
} }
/** /**
* @param pointModelList 批量导入数据{@link PointModel}
*/
public void setImportPointData(List<PointModel> pointModelList){
boolean isEmpty = pointModelList == null || pointModelList.isEmpty();
if (!isEmpty) {
for (PointModel pointModel : pointModelList) {
double x = pointModel.getxPoint();
double y = pointModel.getyPoint();
if(x < 0 || y < 0){
break;
}
Point point = new Point(x, y, SpatialReference.create(4326));
try {
BitmapDrawable bitmapDrawableNormal = (BitmapDrawable) ContextCompat
.getDrawable(mContext, mLabelLocationNormalImage);
PictureMarkerSymbol destinationSymbolNormal = null;
destinationSymbolNormal = PictureMarkerSymbol.createAsync(bitmapDrawableNormal).get();
mLocationGraphicsOverlay.getGraphics().add(new Graphic(point, destinationSymbolNormal));
mCenteredGraphic = mLocationGraphicsOverlay.getGraphics().get(mLocationGraphicsOverlay.getGraphics().size() - 1);
BitmapDrawable bitmapDrawableCenter = (BitmapDrawable) ContextCompat
.getDrawable(mContext, mLabelLocationNormalImage);
PictureMarkerSymbol destinationSymbolCenter = PictureMarkerSymbol.createAsync(bitmapDrawableCenter).get();
mCenteredGraphic.setSymbol(destinationSymbolCenter);
requestGeoCeoder(point, Variable.LocationChangeType.IMPORT_POINT, FLAG_CREATE_MARKER, false, false);
} catch (InterruptedException | ExecutionException ie) {
ie.printStackTrace();
}
}
}
}
/**
* 设置气泡组件 * 设置气泡组件
*/ */
private void setCallout(Graphic graphic, String address, String poi, boolean isShowCallout) { private void setCallout(Graphic graphic, String address, String poi, boolean isShowCallout) {
......
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