如何使用MapUtils 包下的 gcj02ToWgs84 和 wgs84ToGCJ02 方法
时间: 2024-10-01 17:08:01 浏览: 35
在BaiduMap SDK中,MapUtils包下的`gcj02ToWgs84`和`wgs84ToGCJ02`方法主要用于地理坐标的转换,这两个方法分别对应从GCJ-02中国火星坐标系统转换到世界通用的WGS-84坐标系统,以及反过来的过程。
使用这两个方法的一般步骤如下:
1. 首先,你需要实例化一个`BMap`对象,这是基础的地图对象。
2. 确保你已经有了GCJ-02或WGS-84的经纬度坐标。比如,假设有一个经纬度对`(lat, lon)`代表GCJ-02坐标。
3. 调用`MapUtils.gcj02ToWgs84(lat, lon)`方法,传入GCJ-02坐标,它会返回对应的WGS-84坐标对`(newLat, newLon)`。
4. 如果你想从WGS-84转换回GCJ-02,那么就使用`MapUtils.wgs84ToGCJ02(newLat, newLon)`方法。
示例代码如下(Java伪代码):
```java
import com.amap.api.maps.MapUtils;
// 假设gcj02Coord是一个包含GCJ-02坐标的列表
List<LatLng> gcj02Coord = ...;
// 将GCJ-02坐标转换为WGS-84
List<LatLng> wgs84Coord = gcj02Coord.stream()
.map(latLng -> MapUtils.gcj02ToWgs84(latLng.latitude, latLng.longitude))
.collect(Collectors.toList());
// 如果你想反向转换,用类似的方式
List<LatLng> gcj02Back = wgs84Coord.stream()
.map(latLng -> MapUtils.wgs84ToGCJ02(latLng.latitude, latLng.longitude))
.collect(Collectors.toList());
```
记得在实际操作前检查所使用的版本,因为API可能会有更新或变化。
阅读全文