Flutter-geolocator: Geolocator.getCurrentPosition() tidak mengembalikan garis lintang atau bujur.

Dibuat pada 28 Nov 2020  ·  3Komentar  ·  Sumber: Baseflow/flutter-geolocator

Geolocator.getCurrentPosition() tidak berfungsi untuk emulator. Namun, ini berfungsi pada perangkat nyata.

import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';

class LoadingScreen extends StatefulWidget {
  <strong i="6">@override</strong>
  _LoadingScreenState createState() => _LoadingScreenState();
}

class _LoadingScreenState extends State<LoadingScreen> {
  void getLocation() async {
    Position position = await Geolocator.getCurrentPosition(
      desiredAccuracy: LocationAccuracy.low,
    );

    print(position);
  }

  <strong i="7">@override</strong>
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: RaisedButton(
          onPressed: () {
            getLocation();
          },
          child: Text('Get Location'),
        ),
      ),
    );
  }
}

Ini adalah kode dan print(position) tidak mencetak garis lintang dan garis bujur.

needs more info

Komentar yang paling membantu

Saya sedang mengerjakan emulator Android. Saya tidak perlu mendapatkan lokasi dengan akurasi tinggi jadi saya hanya meminta izin untuk mengakses lokasi kasar. Setelah saya melihat komentar @mvanbeusekom saya ingin mencoba LocationAccuracy,high setelah menambahkan izin yang diperlukan yaitu <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ke manifes.

Namun setelah menambahkan izin itu, KEDUA permintaan akurasi rendah dan tinggi berfungsi untuk saya. Menarik.

Semua 3 komentar

Apakah Anda menguji di iOS atau Android?

Btw pastikan Anda mengaktifkan pembaruan lokasi di simulator/emulator. Ini dapat dilakukan dalam pengaturan simulator/emulator.

Juga simulator/ emulator tidak selalu bermain bagus dengan LocationAccuracy.low , Anda dapat mencoba untuk memindahkan ini ke tingkat yang lebih tinggi.

Saya sedang mengerjakan emulator Android. Saya tidak perlu mendapatkan lokasi dengan akurasi tinggi jadi saya hanya meminta izin untuk mengakses lokasi kasar. Setelah saya melihat komentar @mvanbeusekom saya ingin mencoba LocationAccuracy,high setelah menambahkan izin yang diperlukan yaitu <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ke manifes.

Namun setelah menambahkan izin itu, KEDUA permintaan akurasi rendah dan tinggi berfungsi untuk saya. Menarik.

Saya akan menutup masalah ini untuk saat ini. Ini adalah masalah yang diketahui bahwa emulator Android tidak berfungsi dengan baik dengan izin COARSE. Ini karena lokasi COARSE mencoba melakukan triangulasi posisi berdasarkan jaringan seluler, yang pada emulator tidak tersedia.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat