android百度地图连续定位划线,Android 百度地图开发(定位,显示,测距)

之前将应用中涉及到百度地图的做的比较完善了,手贱改了点代码,程序崩了,一步步找错误解决,记录一下,重新学习一下。

首先是获取当前所在位置的地理坐标,然后将其记录下来,显示出你当前所在的位置,然后当你离开你当前所在的地方之后,当你在打开程序的时候,会将你所在两地的位置进行一个对比,通过对比显示出如何到达该地的一些信息。、

1.定位

mLocation = new LocationClient(this);

setLocationParameter();

mLocation.setLocOption(option);

mLocation.registerLocationListener(listener);

mLocation.start();

mLocation.requestLocation();

设置LocationClient参数的方法为:

option = new LocationClientOption();

option.setLocationMode(LocationMode.Hight_Accuracy);

option.setCoorType("bd09ll");

option.setScanSpan(50000);

option.setOpenGps(true);

option.setIsNeedAddress(true);

option.setNeedDeviceDirect(true);

通过这样,我们就发送了一个获取地理位置的请求,然后通过一个listener监听一下,我们就可以获取到我们当前所在的位置了。

private BDLocationListener listener = new BDLocationListener() {

@Override

public void onReceiveLocation(BDLocation arg0) {

// TODO Auto-generated method stub

if(arg0 == null)

return;

point1 = new LatLng(arg0.getLatitude(),arg0.getLongitude());

second = PlanNode.withLocation(point1);

}

};2.初始化地图,将我们当前所在的位置展现出来

mBaiduMap = map.getMap();

//mBaiduMap.setMyLocationEnabled(true);

MyLocationData locData = new MyLocationData.Builder()

.accuracy(radius)

.direction(100).latitude(latitude)

.longitude(longitude).build();

mBaiduMap.setMyLocationData(locData);

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

将我们所获得数据添加到地图的位置数据中,地图将会根据这个数据显示我们的位置。在地图上添加标注物,显示关于我们位置的一些信息。

3.显示信息。

Button infoButton = new Button (this);

infoButton.setBackgroundResource(R.drawable.mi_laucher_blue);

LatLng pt = new LatLng(latitude,longitude);

InfoWindow mInfoWindow = new InfoWindow(infoButton, pt, -47);

infoButton.setText(address);

mBaiduMap.showInfoWindow(mInfoWindow);通过这个按钮显示出来我们位置的信息。

4.在当前位置上进行标注,并将其作为地图的中心进行显示

BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_geo);

OverlayOptions option = new MarkerOptions().position(point).icon(bitmap).draggable(true);

mBaiduMap.addOverlay(option);

MapStatus mMapStatus = new MapStatus.Builder().target(point).targetScreen(scrPoint).build();

MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);

mBaiduMap.setMapStatus(mMapStatusUpdate);

最中发现了问题所在,看到这种错误,真不知道说啥好,自学Android ,用到什么控件就去找Api,博客去看,没有一个系统的学习过程这就导致了一个问题,一些基础的东西会遗漏掉,导致了程序老是因为一些很基础的东西崩溃,之前对于字符串的问题也是搞了好久,java自学而且基本就是看完了最基础的语法,所以说开发过程中老是会出现碰壁的情况出现。这次由于在layout下的文件命名出现了错误导致了出现了这种低级的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值