首页 / 浏览问题 / 移动GIS / 问题详情
获取了定位坐标之后,如何让定位的坐标不随底图的地图缩放而位置发生移动和改变
4EXP 2021年03月12日
第一次接入使用SuperMap,没有什么头绪,所以提出的问题比较基础,希望能有人解答。
问题关闭原因: 自己摸索解決了

1个回答

您好,您那边获取到定位坐标后是怎么显示在地图上的呢?底图缩放是不会影响地图的坐标信息的
9,237EXP 2021年03月12日
double lat = location.getLatitude();
double lng = location.getLongitude();
point2ds = new Point2Ds();
point2ds.add(new Point2D(lng, lat));
Boolean isOk = CoordSysTranslator.forward(point2ds, prjCoordSys);
m_mapControl.getMap().setCenter(point2ds.getItem(0));
m_mapControl.getMap().setScale(1/57373.046875);
//将定位的点配置成指南针样式
mView = new CompassView(this);
m_mapView.addView(mView);
m_mapControl.getMap().refresh();

我是按照给之前给的Demo进行显示的,问题是底图的地图进行拖动以后,定位的点不随之变化,不知道调用什么方法让点和地图相关联起来

你的定位点不要用这种方式去显示,可以将点显示在动态图层或者跟踪图层上显示,地图平移点位也会跟着平移的

我将对应的代码改成了

Point2D point2d = new Point2D(lng, lat);
GeoPoint geoPoint = new GeoPoint(point2d);
point2ds = new Point2Ds();
point2ds.add(new Point2D(lng, lat));
m_mapControl.getMap().setCenter(point2ds.getItem(0));
m_mapControl.getMap().setScale(1 / 57373.046875);
//设置样式
GeoStyle geoStyle_P = new GeoStyle();
geoStyle_P.setMarkerAngle(14.0);
/*设置点状符号的大小,单位为毫米,精确到0.1毫米*/
geoStyle_P.setMarkerSize(new Size2D(3, 3));
//设置点的符号,每个点符号对应一个值
geoStyle_P.setMarkerSymbolID(0);
geoStyle_P.setPointColor(new com.supermap.data.Color(R.color.colorAccent));
geoPoint.setStyle(geoStyle_P);
m_mapControl.getMap().getTrackingLayer().add(geoPoint, "geoline");
m_mapControl.getMap().refresh();

输入的坐标是故宫,结果定位到了非洲的海湾,请教一下,这段哪里写错了吗?为什么会定位到非洲

...