Я строю приложение Flutter, которое требует данных о местоположении. Я использую плагин «геолокатор» и «местоположение», чтобы получить координаты пользователя. Когда я устанавливаю местоположение симулятора в «пользовательское местоположение», метод местоположения. GetLocation (), похоже, не выполняется. Однако, если я устанавливаю его в предопределенное место, как «Apple», это работает нормально. < /P>
Вот мой полный код: < /p>
import 'package:flutter/material.dart';
import 'package:location/location.dart' as loc;
import 'package:geocoding/geocoding.dart';
void main() {
runApp(MaterialApp(home: MyApp()));
}
class MyApp extends StatefulWidget {
@override
State createState() => _MyAppState();
}
class _MyAppState extends State {
@override
void initState() {
location();
super.initState();
}
String? _city;
String? _country;
Future location() async {
loc.Location location = loc.Location();
bool serviceEnabled;
loc.PermissionStatus permissionGranted;
loc.LocationData? locationData;
serviceEnabled = await location.serviceEnabled();
if (!serviceEnabled) {
serviceEnabled = await location.requestService();
if (!serviceEnabled) {
return;
}
}
permissionGranted = await location.hasPermission();
if (permissionGranted == loc.PermissionStatus.denied) {
permissionGranted = await location.requestPermission();
if (permissionGranted != loc.PermissionStatus.granted) {
return;
}
}
print('gets always printed');
locationData = await location.getLocation();
print('This is not getting printed when location is set on "Custom Location"');
print(locationData);
List placemarks = await placemarkFromCoordinates(
locationData.latitude!, locationData.longitude!);
setState(() {
_city = placemarks[0].locality!;
_country = placemarks[0].country!;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.red,
title:const Text('Location'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
'Coordinates:', style: TextStyle(fontSize: 20)
),
Column(
children: [
Text("$_city, $_country", style:const TextStyle(fontSize: 30),)
],
),
],
),
),
);
}
}
Подробнее здесь: https://stackoverflow.com/questions/771 ... -with-cust
Плагин местоположения Flutter не получает данные о местоположении в симуляторе iOS с «пользовательским местоположением» ⇐ IOS
Программируем под IOS
1750859795
Anonymous
Я строю приложение Flutter, которое требует данных о местоположении. Я использую плагин «геолокатор» и «местоположение», чтобы получить координаты пользователя. Когда я устанавливаю местоположение симулятора в «пользовательское местоположение», метод местоположения. GetLocation (), похоже, не выполняется. Однако, если я устанавливаю его в предопределенное место, как «Apple», это работает нормально. < /P>
Вот мой полный код: < /p>
import 'package:flutter/material.dart';
import 'package:location/location.dart' as loc;
import 'package:geocoding/geocoding.dart';
void main() {
runApp(MaterialApp(home: MyApp()));
}
class MyApp extends StatefulWidget {
@override
State createState() => _MyAppState();
}
class _MyAppState extends State {
@override
void initState() {
location();
super.initState();
}
String? _city;
String? _country;
Future location() async {
loc.Location location = loc.Location();
bool serviceEnabled;
loc.PermissionStatus permissionGranted;
loc.LocationData? locationData;
serviceEnabled = await location.serviceEnabled();
if (!serviceEnabled) {
serviceEnabled = await location.requestService();
if (!serviceEnabled) {
return;
}
}
permissionGranted = await location.hasPermission();
if (permissionGranted == loc.PermissionStatus.denied) {
permissionGranted = await location.requestPermission();
if (permissionGranted != loc.PermissionStatus.granted) {
return;
}
}
print('gets always printed');
locationData = await location.getLocation();
print('This is not getting printed when location is set on "Custom Location"');
print(locationData);
List placemarks = await placemarkFromCoordinates(
locationData.latitude!, locationData.longitude!);
setState(() {
_city = placemarks[0].locality!;
_country = placemarks[0].country!;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.red,
title:const Text('Location'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
'Coordinates:', style: TextStyle(fontSize: 20)
),
Column(
children: [
Text("$_city, $_country", style:const TextStyle(fontSize: 30),)
],
),
],
),
),
);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/77175170/flutter-location-plugin-not-retrieving-location-data-in-ios-simulator-with-cust[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия