1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android百度地图连续定位划线 Android 百度地图开发(定位 显示 测距)

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

时间:2023-07-23 00:39:01

相关推荐

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下的文件命名出现了错误导致了出现了这种低级的错误。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。