私は、現在Google Mapの現在地情報を取得し、表示しようと考えています。しかし、参考サイトと同じ状態で行ったのですが、Google Mapが表示されず、黒い画面のままリロードした状態が永遠に続いている状態になってしまいます。もしわかる方がいらしたら、教えて頂きたいです。
参考サイト
・https://github.com/butachin/flutter_maps
dart
1import 'dart:async'; 2import 'package:flutter/material.dart'; 3import 'package:flutter/services.dart'; 4import 'package:google_maps_flutter/google_maps_flutter.dart'; 5import 'package:location/location.dart'; 6 7class GoogleMaps extends StatefulWidget { 8 9 _GoogleMapsState createState() => _GoogleMapsState(); 10} 11 12class _GoogleMapsState extends State<GoogleMaps> { 13 LocationData currentLocation; 14 15 // StreamSubscription<LocationData> locationSubscription; 16 17 Location _locationService = new Location(); 18 String error; 19 20 21 void initState() { 22 super.initState(); 23 24 initPlatformState(); 25 _locationService.onLocationChanged.listen((LocationData result) async { 26 setState(() { 27 currentLocation = result; 28 }); 29 }); 30 } 31 32 Completer<GoogleMapController> _controller = Completer(); 33 34 void _onMapCreated(GoogleMapController controller) { 35 _controller.complete(controller); 36 } 37 38 39 Widget build(BuildContext context) { 40 if (currentLocation == null) { 41 return Center( 42 child: CircularProgressIndicator(), 43 ); 44 } else { 45 return MaterialApp( 46 home: Scaffold( 47 appBar: AppBar( 48 title: Text('Maps Sample App'), 49 backgroundColor: Colors.green[700], 50 ), 51 body: GoogleMap( 52 onMapCreated: _onMapCreated, 53 initialCameraPosition: CameraPosition( 54 target: 55 LatLng(currentLocation.latitude, currentLocation.longitude), 56 zoom: 17.0, 57 ), 58 myLocationEnabled: true, 59 ), 60 ), 61 ); 62 } 63 } 64 65 void initPlatformState() async { 66 LocationData myLocation; 67 try { 68 myLocation = await _locationService.getLocation(); 69 error = ""; 70 } on PlatformException catch (e) { 71 if (e.code == 'PERMISSION_DENITED') 72 error = 'Permission denited'; 73 else if (e.code == 'PERMISSION_DENITED_NEVER_ASK') 74 error = 75 'Permission denited - please ask the user to enable it from the app settings'; 76 myLocation = null; 77 } 78 setState(() { 79 currentLocation = myLocation; 80 }); 81 } 82}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/25 08:04
2021/01/25 08:40
2021/01/25 17:20
2021/01/26 07:54