c. 转换结果—日志表现:

文章插图
d. 转换结果-用户界面表现:从两图可以看出 , 转换坐标系之后的经纬度 与 用户实际所在位置经纬度无偏差 。

文章插图

文章插图
4. 将GCJ-02坐标系的经纬度通过huaweiMap.setLocationSource(LocationSouce locationSouce)方法设置为我的位置图层的定位源 , 具体实现如下:
- 新建MyLocationSouce类,定义定位源 。
private class MyLocationSouce implements LocationSource { private OnLocationChangedListener listener; @Override public void activate(OnLocationChangedListener onLocationChangedListener) { listener = onLocationChangedListener; } @Override public void deactivate() { } /** * 改变我的位置图层的定位源 * @param lat_gcj02 GCJ-02 * @param log_gcj02 GCJ-02 */ public void changeMyLocationSouce(double lat_gcj02, double log_gcj02) { Location location = new Location("Provider"); location.setLatitude(lat_gcj02); location.setLongitude(log_gcj02); //设置精度 location.setAccuracy(200); //当获取到新的用户位置时,调用此方法,设置定位源 listener.onLocationChanged(location); }}
- 初始化MyLocationSouce类 并 将MyLocationSouce设置为我的位置图层的定位源:
private MyLocationSouce myLocationSouce;@Overridepublic void onMapReady(HuaweiMap huaweiMap) { this.huaweiMap = huaweiMap; huaweiMap.setMyLocationEnabled(true); //初始化LocationSouce并设置我的位置图层的位置源 if (null == myLocationSouce){ myLocationSouce = new MyLocationSouce(); } huaweiMap.setLocationSource(myLocationSouce);}
- 在LocationCallback回调方法中 将GCJ-02坐标系的经纬度 设置为定位源 。
/** * 定义位置更新回调 */LocationCallback mLocationCallback = new LocationCallback() { @Override public void onLocationResult(LocationResult locationResult) { if (locationResult != null) { // TODO: 处理位置回调结果 addLocationMarker(locationResult.getLastHWLocation().getLatitude(), locationResult.getLastHWLocation().getLongitude()); Log.d("LOG_HwMyLocation", "WGS-86坐标系经纬度:" + locationResult.getLastHWLocation().getLatitude() + " ; " + locationResult.getLastHWLocation().getLongitude()); Log.d("LOG_HwMyLocation", "===============转换地理坐标系==============="); double[] Gcj02LatLng = wgs84_To_Gcj02(locationResult.getLastHWLocation().getLatitude(), locationResult.getLastHWLocation().getLongitude()); Log.d("LOG_HwMyLocation", "Gcj-02坐标系经纬度:" + Gcj02LatLng[0] + " ; " + Gcj02LatLng[1] + "\n"); //将转换坐标系之后的经纬度 标记在地图上 addGCJ02LocationMarker(Gcj02LatLng[0], Gcj02LatLng[1]); if (null != myLocationSouce){ myLocationSouce.changeMyLocationSouce(Gcj02LatLng[0],Gcj02LatLng[1]); } } }};
推荐阅读
-
-
-
-
cx4记录仪安装教程 马自达cx4行车记录仪走线安装视频
-
-
-
-
-
-
-
染什么颜色的头发显皮肤白又可以盖白发 染什么颜色的头发显皮肤白
-
九年级英语全一册全部翻译 九年级英语全一册翻译河北教育出版社
-
-
-
-
沈阳市树成招投标代理有限公司_工商信用信息_经营范围期限状态_法人_地址_注册资本_怎么样
-
吴中区小学招生公示 吴中区公办初中入学现场审核指南
-
-
汽车加油加到跳枪还能加多少油 汽车加油跳枪是几成满
-