百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记

百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记

大家好,又见面了,我是全栈君。

前几天又下载了新的百度地图sdk,3.5版本号。发现百度地图api有了较大变化

定位和3.0版本号差点儿相同

可是设置地图中心和加入maker标记有较大变化

设置地图中心点

// 定义地图状态zoom表示缩放级别3-18
MapStatus mMapStatus = new MapStatus.Builder().target(cenpt)
.zoom(14).build();
// 定义MapStatusUpdate对象。以便描写叙述地图状态将要发生的变化
MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory
.newMapStatus(mMapStatus);
// 改变地图状态
// 开启定位图层
mMapView.getMap().setMapStatus(mMapStatusUpdate);

加入maker标记

// 定义Maker坐标点
// 构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher);
// 构建MarkerOption,用于在地图上加入Marker
OverlayOptions option = new MarkerOptions().position(cenpt).icon(
bitmap);
// 在地图上加入Marker,并显示
mMapView.getMap().clear();
mMapView.getMap().addOverlay(option);
mLocationClient.stop();

完整代码例如以下

public class MapActivity extends BaseActivity {
MapView mMapView;

public LocationClient mLocationClient = null;
public BDLocationListener myListener = new MyLocationListener();

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_mapview);
mMapView = (MapView) findViewById(R.id.bmapView);

mLocationClient = new LocationClient(getApplicationContext()); // 声明LocationClient类
mLocationClient.registerLocationListener(myListener); // 注冊监听函数
mLocationClient.start();
}

@Override
protected void onDestroy() {
super.onDestroy();
// 在activity运行onDestroy时运行mMapView.onDestroy()。实现地图生命周期管理
mMapView.onDestroy();
mLocationClient.stop();
}

@Override
protected void onResume() {
super.onResume();
// 在activity运行onResume时运行mMapView. onResume ()。实现地图生命周期管理
mMapView.onResume();
}

@Override
protected void onPause() {
super.onPause();
// 在activity运行onPause时运行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}

public class MyLocationListener implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
if (location == null)
return;
StringBuffer sb = new StringBuffer(256);
sb.append(“time : “);
sb.append(location.getTime());
sb.append(“\nerror code : “);
sb.append(location.getLocType());
sb.append(“\nlatitude : “);
sb.append(location.getLatitude());
sb.append(“\nlontitude : “);
sb.append(location.getLongitude());
sb.append(“\nradius : “);
sb.append(location.getRadius());
if (location.getLocType() == BDLocation.TypeGpsLocation) {
sb.append(“\nspeed : “);
sb.append(location.getSpeed());
sb.append(“\nsatellite : “);
sb.append(location.getSatelliteNumber());
} else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {
sb.append(“\naddr : “);
sb.append(location.getAddrStr());
}
System.out.println(“” + sb.toString());
LatLng cenpt = new LatLng(location.getLatitude(),
location.getLongitude());
// 定义地图状态zoom表示缩放级别3-18
MapStatus mMapStatus = new MapStatus.Builder().target(cenpt)
.zoom(14).build();
// 定义MapStatusUpdate对象,以便描写叙述地图状态将要发生的变化
MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory
.newMapStatus(mMapStatus);
// 改变地图状态
// 开启定位图层
mMapView.getMap().setMapStatus(mMapStatusUpdate);



// 定义Maker坐标点
// 构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher);
// 构建MarkerOption。用于在地图上加入Marker
OverlayOptions option = new MarkerOptions().position(cenpt).icon(
bitmap);
// 在地图上加入Marker,并显示
mMapView.getMap().clear();
mMapView.getMap().addOverlay(option);
mLocationClient.stop();
}
}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116512.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C++_vector操作

    C++_vector操作vector说明:vector是向量类型,可以容纳许多类型的数据,因此也被称为容器(可以理解为动态数组,是封装好了的类)vector头文件-vectorvector初始化:方式1.vector<int>a(10);//定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定方式2.vector<int>a…

  • linux ptrace函数

    linux ptrace函数【ptrace系统调用】功能描述:提供父进程观察和控制另一个进程执行的机制,同时提供查询和修改另一进程的核心影像与寄存器的能力。主要用于执行断点调试和系统调用跟踪。父进程可通过调用fork,接着指定所产生的子进程的PTRACE_TRACEME行为,最后使用exec等操作来初始化一个进程跟踪。可替代的做法是,父进程通过PTRACE_ATTACH请求跟踪一个现存进程的执行。当子进程

    2022年10月31日
  • hostapd安装总结

    hostapd安装总结http://teampal.mc2lab.com/projects/fwn/wiki/SetupHostapd孟宁老师教程中碰到的问题iwlist

  • route命令linux详解,route命令详解与使用实例

    route命令linux详解,route命令详解与使用实例route命令用于在本地IP路由表中显示和修改条目。使用不带参数的ROUTE可以显示帮助。语法:route[-f][-p][command[destination][masknetmask][gateway][metric][ifinterface]参数说明:-f清除所有不是主路由(子网掩码为255.255.255.255的路由)、环回网络路由(目标为127.0.0.0,子网掩…

  • 字典树和前缀树_前缀树和后缀树

    字典树和前缀树_前缀树和后缀树从Trie树(字典树)谈到后缀树作者:July、yansha。出处:http://blog.csdn.net/v_JULY_v 。 引言   常关注本blog的读者朋友想必看过此篇文章:从B树、B+树、B*树谈到R树,这次,咱们来讲另外两种树:Tire树与后缀树。不过,在此之前,先来看两个问题。   第一个问题:一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,

  • 5分钟搞懂MySQL – 行转列

    5分钟搞懂MySQL – 行转列  MySQL行转列,对经常处理数据的同学们来说,一定是不陌生的,甚至是印象深刻,因为它大概率困扰到了你,让你为之一愣~但当你看到本文后,这个问题就不在是问题,及时收藏,以后谁再问你这个问题,直接甩他脸上,粘贴即用。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号