概述
private BaiduMap mBaiduMap;
private LocationClient mLocationClient;
//构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.shanghu);
BitmapDescriptor bitmapRed = BitmapDescriptorFactory.fromResource(R.drawable.xuexiao);
private void setMap() {
mBaiduMap = mMapView.getMap();
//普通地图 ,mBaiduMap是地图控制器对象
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
mBaiduMap.setMyLocationEnabled(true);
//定位初始化
mLocationClient = new LocationClient(this);
// 隐藏logo
View child = mMapView.getChildAt(1);
if (child != null && (child instanceof ImageView || child instanceof ZoomControls)) {
child.setVisibility(View.INVISIBLE);
}
//地图上比例尺
mMapView.showScaleControl(false);
// 隐藏缩放控件
mMapView.showZoomControls(false);
//通过LocationClientOption设置LocationClient相关参数
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true); // 打开gps
option.setCoorType("bd09ll"); // 设置坐标类型
option.setScanSpan(0);
//设置locationClientOption
mLocationClient.setLocOption(option);
//注册LocationListener监听器
//
MyLocationListener myLocationListener = new MyLocationListener();
//
mLocationClient.registerLocationListener(myLocationListener);
//开启地图定位图层
//
mLocationClient.start();
}
添加一个点位
private void setCustormMark(YuJing.CardDataBean cardDataBean) {
//定义Maker坐标点
商户
LatLng point = new LatLng(Double.parseDouble(cardDataBean.getLatitude()), Double.parseDouble(cardDataBean.getLongitude()));
//构建MarkerOption,用于在地图上添加Marker
OverlayOptions option = new MarkerOptions()
.position(point)
.icon(bitmap);
//在地图上添加Marker,并显示
mBaiduMap.addOverlay(option);
//设置地图中心点和缩放级别
MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(point, (float) 18);
//以动画方式更新地图状态,动画耗时 300 ms
mBaiduMap.animateMapStatus(u);
}
秒多个点位
private void setScoolMark(List<YuJing.SchoolsBean> listsSchool) {
for (int i = 0; i < listsSchool.size(); i++) {
LatLng point = new LatLng(Double.valueOf(listsSchool.get(i).getPtMapy()), Double.valueOf(listsSchool.get(i).getPtMapx()));
OverlayOptions option = new MarkerOptions()
.position(point)
.icon(bitmapRed);
mBaiduMap.addOverlay(option);
}
}
秒多边形
private void setLocationMark(List<YuJing.LocationsBean> listsLocation) {
//多边形顶点位置
List<LatLng> points = new ArrayList<>();
for (int i = 0; i < listsLocation.size(); i++) {
points.add(new LatLng(Double.parseDouble(listsLocation.get(i).getLatitude()), Double.parseDouble(listsLocation.get(i).getLongitude())));
}
//构造PolygonOptions
PolygonOptions mPolygonOptions = new PolygonOptions()
.points(points)
.fillColor(0x384d73b3) //填充颜色
.stroke(new Stroke(5, 0xAAFF0000)); //边框宽度和颜色
//在地图上显示多边形
mBaiduMap.addOverlay(mPolygonOptions);
}
记录一下。
最后
以上就是结实白昼为你收集整理的android 百度地图描点,划线的全部内容,希望文章能够帮你解决android 百度地图描点,划线所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复