【发布时间】:2022-07-24 09:56:05
【问题描述】:
我正在试验 Flutter OSM 地图插件。我遵循了官方 github 上的示例,它可以正常工作,但我看不到用户位置上的标记。当用户位置发生变化时,位置更新良好,地图反映了正确的位置。
这是我的代码:
class MapScreenWidget extends StatefulWidget {
MapScreenWidget({Key? key}) : super(key: key);
@override
State<StatefulWidget> createState() => _MapState();
}
class _MapState extends State<MapScreenWidget> {
late MapController controller;
@override
void initState() {
super.initState();
controller = MapController(
initMapWithUserPosition: true,
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: appBar,
body: Center(
child: OSMFlutter(
controller: controller,
onLocationChanged: (GeoPoint point) {
print('lat: ${point.latitude}, lon: ${point.longitude}');
},
trackMyPosition: true,
initZoom: 16,
minZoomLevel: 6,
maxZoomLevel: 19,
stepZoom: 1.0,
userLocationMarker: UserLocationMaker(
personMarker: MarkerIcon(
icon: Icon(
Icons.location_history_rounded,
color: Colors.red,
size: 48,
),
),
directionArrowMarker: MarkerIcon(
icon: Icon(
Icons.double_arrow,
size: 48,
),
),
),
markerOption: MarkerOption(
defaultMarker: MarkerIcon(
icon: Icon(
Icons.person_pin_circle,
color: Colors.blue,
size: 56,
),
)),
),
));
}
}
环境:
- 颤振:2.8.1
- 飞镖:2.12
- flutter_osm_map:0.26.1
- 在 Android API 29 和 30 上测试
谢谢
【问题讨论】:
标签: android flutter openstreetmap