Commit 14af1553 by luo_sp

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

parent 5728e76f
......@@ -7,9 +7,13 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
import cn.com.founder.arcgislib.ArcGisFounder;
import cn.com.founder.arcgislib.compass.option.IArcGisCompassOption;
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.zoom.listener.IZoomClickListener;
import cn.com.founder.arcgislib.zoom.option.IArcGisZoomOption;
......@@ -65,8 +69,15 @@ public class MainActivity extends AppCompatActivity {
// iArcGisLocationOption.startLocation(0);
//手动定位
iArcGisLocationOption.startLocation(113.75179,23.02067,0);
//开启导入
iArcGisLocationOption.setShowImportLayout(true);
//开启TXT导入
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);
//隐藏poi信息
......
package cn.com.founder.arcgislib.location;
import java.util.List;
import cn.com.founder.arcgislib.common.Variable;
import cn.com.founder.arcgislib.location.listener.ILocationChangeListener;
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.ArcGisMapView;
......@@ -73,8 +76,8 @@ public class ArcGisLocation implements IArcGisLocationOption {
* @param isShow boolean-是否显示导入布局
*/
@Override
public IArcGisLocationOption setShowImportLayout(boolean isShow) {
mArcGisLocationView.setShowImportLayout(isShow);
public IArcGisLocationOption setShowTXTImportLayout(boolean isShow) {
mArcGisLocationView.setShowTXTImportLayout(isShow);
return this;
}
......@@ -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 设置是否跟随地图获取中心点
*/
@Override
......
package cn.com.founder.arcgislib.location.option;
import java.util.List;
import cn.com.founder.arcgislib.common.Variable;
import cn.com.founder.arcgislib.location.listener.ILocationChangeListener;
import cn.com.founder.arcgislib.model.PointModel;
import cn.com.founder.arcgislib.view.ArcGisLocationView;
/**
......@@ -46,10 +49,10 @@ public interface IArcGisLocationOption {
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显示位置
......@@ -76,6 +79,11 @@ public interface IArcGisLocationOption {
* @param labelLocationSelectedImage int(资源ID)-标记位置选中图片
*/
IArcGisLocationOption setLabelLocationSelectedImage(int labelLocationSelectedImage);
/**
* @param pointModelList 导入点数据{@link PointModel}
*/
IArcGisLocationOption setImportPointData(List<PointModel> pointModelList);
/**
* @param isFollow 设置是否跟随地图获取中心点
* 默认不跟随
......
......@@ -66,6 +66,7 @@ import cn.com.founder.arcgislib.common.Variable;
import cn.com.founder.arcgislib.constants.Constants;
import cn.com.founder.arcgislib.location.listener.ILocationChangeListener;
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.PermissionUtil;
import cn.com.founder.arcgislib.utils.ToolUtil;
......@@ -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) {
mImportIv.setVisibility(VISIBLE);
} else {
......@@ -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) {
......
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