我刚开始在颤振,我不知道为什么当我不能获得准确的Coord使用地理坐标插件在iOS模拟器。
它返回这个,它是小数点并给出一个不准确的位置吗?
LAT:1.3,Long:103.8
我怎样才能让它退还这个呢?
1.3825983,103.8814173
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:geolocator/geolocator.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
class Home extends StatefulWidget {
Home(this.listType);
final String listType;
@override
_HomeState createState() => new _HomeState();
}
class _HomeState extends State<Home> {
GoogleMapController _mapController;
// final LatLng _center = const LatLng(1.290270, 103.851959);
Position _pos;
Widget _mapWidget;
void _onMapCreated(GoogleMapController controller) {
_mapController = controller;
}
@override
void initState() {
_mapWidget = SpinKitRotatingCircle(
color: Colors.white,
size: 50.0,
);
getCurrentLocation();
super.initState();
}
void getCurrentLocation() async {
GeolocationStatus geolocationStatus = await Geolocator().checkGeolocationPermissionStatus();
print(geolocationStatus);
Position currPos = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.best);
print(currPos);
setState(() {
_pos = currPos;
_mapWidget = initMapWidget();
});
}
Widget initMapWidget () {
return GoogleMap(
mapType: MapType.normal,
onMapCreated: _onMapCreated,
myLocationEnabled: true,
initialCameraPosition: CameraPosition(
target: LatLng(_pos.latitude, _pos.longitude),
zoom: 15.0,
),
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: _mapWidget,
),
);
}
}
试着分析lat和long到double.
target: LatLng(_pos.latitude.toDouble(), _pos.longitude.toDouble()),
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。