在Android上使用百度地图SDK开发时,需要读取手机和GPS模块的定位坐标,然后在手机端的百度地图上显示出来,由于坐标系的不同,所以需要进行坐标的转换。我使用的是百度地图提供的API函数来进行转换。
1.在百度地图SDK开发包下载选择上“计算工具”

2.导入类接口
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.utils.CoordinateConverter;
3.坐标转换
LatLng ll = new LatLng(location.getLatitude(), location.getLongitude()); //获取手机定位坐标
CoordinateConverter converter = new CoordinateConverter()
.from(CoordinateConverter.CoordType.COMMON)
.coord(ll);
LatLng ll_bd = converter.convert();//将GCJ02坐标转换为百度坐标
GPS的话只需要将CoordinateConverter.CoordType.COMMON修改为CoordinateConverter.CoordType.GPS即可。
代码:
package com.example.phonelocation;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.utils.CoordinateConverter;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.model.LatLng;
import java.util.ArrayList;
import java.util.List;
public class

本文详细介绍如何在Android应用中使用百度地图SDK进行坐标转换,包括从手机和GPS模块读取定位坐标,并将其从GCJ02坐标系转换为百度地图坐标系。文章提供了完整的代码示例和必要的权限设置。
最低0.47元/天 解锁文章
2168

被折叠的 条评论
为什么被折叠?



