文档说明:使用百度地图,实现 设置默认地图中心点+地图选点+maker标记 功能(后面会增加对该点进行poi搜索功能,实现获取更详细的的位置信息,等一系列常用功能模块实现)。文中出现不对的地方,欢迎指正。后面持续更新。
一、首先配置地图,这个就不细说了,参考官方api文档,下面给出直通车。
二、设置默认位置
mBaiduMap.setMapStatus(MapStatusUpdateFactory
.newLatLngZoom(new LatLng(Double.valueOf(Config.latitude),
Double.valueOf(Config.longitude)), 18.0f));
三、实现地图的监听,设置mark标记,获取地理位置address
mBaiduMap.setOnMapClickListener(new BaiduMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
//获取经纬度
double latitude = latLng.latitude;
double longitude = latLng.longitude;
//清除图层
mBaiduMap.clear();
// 定义Maker坐标点
LatLng point = new LatLng(latitude, longitude);
//定义options设置maker属性
OverlayOptions options = new MarkerOptions().position(point).icon(bitmap);
//将maker添加到地图
mBaiduMap.addOverlay(options);
//实例化一个地理编码查询对象
GeoCoder geoCoder = GeoCoder.newInstance();
//设置反地理编码位置坐标
ReverseGeoCodeOption op = new ReverseGeoCodeOption();
op.location(point);
//发起反地理编码请求(经纬度->地址信息)
geoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
@Override
public void onGetGeoCodeResult(GeoCodeResult geoCodeResult) {
if (geoCodeResult == null
|| geoCodeResult.error != SearchResult.ERRORNO.NO_ERROR) {
Toast.makeText(getContext(), "没有检测到结果", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onGetReverseGeoCo