浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
显示定位
下载开发文档
坐标系说明

Android定位SDK产品,支持全球定位,能够精准的获取经纬度信息。根据开发者的设置,在国内获得的坐标系类型可以是:国测局坐标、百度墨卡托坐标 和 百度经纬度坐标。在海外地区,只能获得WGS84坐标。请开发者在使用过程中注意坐标选择。定位SDK默认输出GCJ02坐标,地图SDK默认输出BD09ll坐标。

显示定位

通过如下几步您便可以在自己的地图中展示当前所在位置的定位点。

1. 开启地图的定位图层
myMapController?.showUserLocation(true);
2. 更新位置

这里的位置信息的经纬度属性coordinate是固定的,如果要获取当前位置真实的经纬度信息,可以参考定位Flutter插件文档集成定位Flutter插件,并获取当前位置的真实经纬度。

BMFCoordinate coordinate = BMFCoordinate(39.965, 116.404);
BMFLocation location = BMFLocation(
coordinate: coordinate,
altitude: 0,
horizontalAccuracy: 5,
verticalAccuracy: -1.0,
speed: -1.0,
course: -1.0);
BMFUserLocation userLocation = BMFUserLocation(
location: location,
);
myMapController?.updateLocationData(userLocation);
3. 更新定位图层样式
BMFUserlocationDisplayParam displayParam = BMFUserlocationDisplayParam(
locationViewOffsetX: 0,
locationViewOffsetY: 0,
accuracyCircleFillColor: Colors.red,
accuracyCircleStrokeColor: Colors.blue,
isAccuracyCircleShow: true,
locationViewImage: 'resoures/animation_red.png',
locationViewHierarchy:
BMFLocationViewHierarchy.LOCATION_VIEW_HIERARCHY_BOTTOM);
myMapController?.updateLocationViewWithParam(displayParam);

完成以上步骤,即可在您的地图应用中显示当前位置的点,如下图中的红色点标记:

location_view.jpg

上图为18级缩放下的显示效果。

自定义内容

通过BMFUserlocationDisplayParam类来构造包括定位模式、设置自定义定位图标、精度圈填充颜色以及精度圈边框颜色等属性。

locationViewOffsetX定位图标X轴偏移量(屏幕坐标,iOS独有)
locationViewOffsetY定位图标Y轴偏移量(屏幕坐标,iOS独有)
userTrackingMode定位模式
enableDirection是否允许显示方向信息(Android独有)
isAccuracyCircleShow精度圈是否显示(iOS独有)
accuracyCircleFillColor精度圈填充颜色
accuracyCircleStrokeColor精度圈边框颜色
isRotateAngleValid跟随态旋转角度是否生效,默认true(iOS独有)
locationViewImage用户自定义定位图标
canShowCallOut是否显示气泡(iOS独有)
locationViewHierarchylocationView在mapview上的层级默认值为LOCATION_VIEW_HIERARCHY_BOTTOM

另外有两个属性不可以通过上述方法设置,说明如下:

定位精度圈大小

定位精度圈大小 ,是根据当前定位精度自动控制的,无法手动控制大小。精度圈越小,代表当前定位精度越高;反之圈越大,代表当前定位精度越低。

定位指针方向

定位指针朝向,是通过获取手机系统陀螺仪数据,控制定位指针的方向,需要开发者自己实现,并不在地图实现范畴。

定位的频次自定义

开发者可以自行设置获取定位的时间间隔,详细的设置方法可以参考定位Flutter插件。

上一篇

切换地图类型

下一篇

室内地图

本篇文章对您是否有帮助?