百度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();
}
}

}

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ext中apply及applyIf方法的应用

    Ext中apply及applyIf方法的应用Ext中apply及applyIf方法的应用        apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。apply方法的签名为“apply(Objectobj,Objectconfig,Ob

    2022年7月28日
    6
  • layui实现iframe框架_layui table重新渲染

    layui实现iframe框架_layui table重新渲染layuiAdmin.std(iframe版)是完全基于layui架构而成的通用型后台管理模板系统,采用传统的iframe多页面开发模式,可更快速直接地开发网页后台应用程序,无需过多地学习成本,简单高效,撸起袖子直接干。题外该文档适用于layuiAdmin.std常规版(iframe),阅读之前请务必确认是否与你使用的版本对应。熟练掌握layuiAdmin的前提是熟练…

    2025年7月8日
    4
  • ICMP详解「建议收藏」

    ICMP详解「建议收藏」ICMP(InternetControlMessageProtocol)网际控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的…

    2022年7月12日
    21
  • java ajax教程_JAVA AJAX教程第一章—初识AJAX

    java ajax教程_JAVA AJAX教程第一章—初识AJAX既然是认识AJAX,理论和实践相结合,这样让自己学的更快,理解更深入,我分一下几点:1、认识传统的同步交互方式和AJAX解决方案2、AJAX使用到的技术3、实例体验AJAX一、同步交互方式和AJAX解决方案传统的WEB应用是同步交互的方式,这种同步交互方式的处理过程如下图什么是同步交互方式:首先,用户向HTTP服务器提交一个处理请求。接着,服务器端接收到请求后,按照预先编写好的程序中的…

    2022年7月7日
    27
  • NSGA2 Python实现

    NSGA2 Python实现#importingnecessarymodulesimportmathimportrandomimportmatplotlib.pyplotasPlt#FirstFunctiontooptimizedeffunction1(x1,x2):value=-x1*2+x2returnvalue#SecondFunctiontooptimizedeffunction2(x1,x2):value=-x1*5*x2

    2022年5月12日
    43
  • java中decode和encode_java encoding

    java中decode和encode_java encoding一概述前端传递过来的url被转码了;应该chuan

    2022年10月7日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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