【发布时间】:2019-06-22 21:27:44
【问题描述】:
似乎一切都写对了,但我不明白为什么它没有在地图上显示我的位置。
为什么不显示我的位置?
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
class MyMap extends StatefulWidget {
@override
MyMapState createState() => MyMapState();
}
class MyMapState extends State<MyMap> {
GoogleMapController mapController;
final LatLng _center = const LatLng(50.006406, 36.236484);
void _onMapCreated(GoogleMapController controller) {
mapController = controller;
mapController.addMarker(
MarkerOptions(
position: LatLng(50.006406, 36.236484),
infoWindowText: InfoWindowText('My Location', 'Office'),
icon: BitmapDescriptor.defaultMarker,
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Map'),
backgroundColor: Colors.green[700],
),
body: GoogleMap(
onMapCreated: _onMapCreated,
options: GoogleMapOptions(
scrollGesturesEnabled: true,
tiltGesturesEnabled: true,
rotateGesturesEnabled: true,
myLocationEnabled: true,
compassEnabled: true,
cameraPosition: CameraPosition(
target: _center,
zoom: 11.0,
),
),
),
);
}
}
【问题讨论】:
-
您是否请求了位置权限?
-
但是怎么做呢?
-
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name= "android.permission.ACCESS_FINE_LOCATION"/>将这两行粘贴到您的 Android 清单文件中。如果您在模拟器中运行,则切换到物理设备。因为模拟器无法显示您当前的位置。
标签: javascript flutter google-maps-markers