使用产品:iMobile 9D 操作系统:win7 x64
数据类型:文件型
问题详细描述:从官网百度云下载的Demo中Collector工程无法正常使用
问题重现步骤: 1.点击官网-iMobile 2.下载百度云下面的Demo文件 3.导入Android Studio工程 4.运行版本,点击定位,没有绘制箭头和当前位置
在引入超图平台前,我们做了百度和谷歌地图的支持。即百度、谷歌上对应的基本点为Marker,线为Polylin,多边形为Polygon。随后将对应的地图添加在地图上即可。
点-addMarker
线-addPolyline
面-addPolygon
但超图这边对应的并没有找到对应的方法。
问题:
- 感觉上有很多GpsPoint,Point2D,DynamicPoint等类型,查看了Demo中的Collector发现:是否添加都必须经过Collector?
- 还有在对当前位置进行绘制时,Collector的Demo中相关方法全部进行了注释,请问有实际能够运行的Demo吗?
Collectors中MainActivity#drawCircleOnDyn()方法中全部都进行了注释
public void drawCircleOnDyn(Point2D pnt2D, float dAzimuth, double dAccuracy){
//copy another point2D
// Point2D point2D = new Point2D(pnt2D.getX(), pnt2D.getY());
// if(point2D.getX() == 0 && point2D.getY() == 0){
// System.out.println("Unable to draw position.");
// return;
// }
// if(mDynamicView == null || mMapControl == null){
// return;
// }
//
// //当投影不是经纬坐标系时,则对点进行投影转换
// PrjCoordSys Prj = mMapControl.getMap().getPrjCoordSys();
// if (Prj.getType() != PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE) {
// Point2Ds points = new Point2Ds();
// points.add(point2D);
// PrjCoordSys desPrjCoorSys = new PrjCoordSys();
// desPrjCoorSys.setType(PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE);
// CoordSysTranslator.convert(points, desPrjCoorSys, Prj,
// new CoordSysTransParameter(),
// CoordSysTransMethod.MTH_GEOCENTRIC_TRANSLATION);
//
// point2D.setX(points.getItem(0).getX());
// point2D.setY(points.getItem(0).getY());
// }
// //定位的精度
// if(dAccuracy <= 0 || dAccuracy > 500){ //无效精度范围
// dAccuracy = dUnit;//默认半径为60米
// }
// else{
// dAccuracy = 60;//dUnit * (m_MyLocation.getAccuracy() / 60.0);
// }
//添加动态对象
if(mDynPointID == -1 && mDynPolygonID == -1){
// DynamicCircle dynGeoCircle = new DynamicCircle();
// dynGeoCircle.addPoint(new Point2D(point2D.getX(), point2D.getY()));
// dynGeoCircle.setRadius(dAccuracy/*100*//*mMapControl.getMap().getBounds().getWidth() / 100000*/);//单位:米
//
// DynamicStyle styleGeCircle = new DynamicStyle();
// styleGeCircle.setAlpha(60);
// styleGeCircle.setBackColor(Color.rgb(255, 255, 255));//52, 168, 83
// styleGeCircle.setSize(5);
// styleGeCircle.setLineColor(Color.rgb(51, 129, 204));//172, 52, 48
// dynGeoCircle.setStyle(styleGeCircle);
// mDynamicView.addElement(dynGeoCircle);
// mDynGeoCircle = dynGeoCircle;
// mDynPolygonID = dynGeoCircle.getID();
// //绘制中心点
// DynamicPoint dynPoint = new DynamicPoint();
// dynPoint.addPoint(point2D);
// DynamicStyle dynStyle = new DynamicStyle();
// dynStyle.setBackground(BitmapFactory.decodeResource(mMapControl.getResources(), R.drawable.navi_popup_small_2_1));
// dynStyle.setAngle(dAzimuth);
// dynPoint.setStyle(dynStyle);
//
// mDynamicView.addElement(dynPoint);
// mDynGeoPoint = dynPoint;
// mDynPointID = dynPoint.getID();
//
// mDynamicView.refresh();
}
//修改动态对象
else{
//绘制中心圆
// mDynGeoCircle.setPoint(new Point2D(point2D.getX(), point2D.getY()));
// mDynGeoCircle.setRadius(dAccuracy);//单位:米
//
// //绘制中心点
// DynamicStyle dynStyle = new DynamicStyle();
// dynStyle.setBackground(BitmapFactory.decodeResource(mMapControl.getResources(), R.drawable.navi_popup_small_2_1));
// dynStyle.setAngle(dAzimuth);
// mDynGeoPoint.setPoint(point2D);
// mDynGeoPoint.setStyle(dynStyle);
//
// mDynamicView.refresh();
}
}