Ist ‘constructor LocationRequest()’ in Google Maps v2 veraltet?

Lesezeit: 3 Minuten

Benutzeravatar von Roar Grønmo
Roar Grønmo

Ich bin kürzlich auf diese Nachricht gestoßen und war mir ziemlich sicher, dass dieser Konstruktor in früheren Versionen bis 18.0.0 nicht veraltet war, aber ich kann nirgendwo Informationen darüber finden, dass dieser auch veraltet ist.

Und was sollten wir stattdessen verwenden, gibt es eine andere Möglichkeit, eine zu erstellen locationRequest ?

Nachricht, die sich darüber beschwert, dass LocationRequest() veraltet ist

Benutzeravatar von Kunu
Kunu

Ja, der LocationRequest-Konstruktor ist veraltet. Sie können die statische Methode verwenden LocationRequest.create() um eine Standortanfrage zu erstellen.

Kotlin:

locationRequest = LocationRequest.create().apply {
    interval = 100
    fastestInterval = 50
    priority = LocationRequest.PRIORITY_HIGH_ACCURACY
    maxWaitTime = 100
}

Java:

locationRequest = LocationRequest.create()
    .setInterval(100)
    .setFastestInterval(3000) 
    .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
    .setMaxWaitTime(100);

Aktualisieren

Wie @Shimon betonte Standortanfrage.PRIORITY_HIGH_ACCURACY ist jetzt veraltet, verwenden Sie stattdessen
Priorität.PRIORITY_HIGH_ACCURACY

  • Aha!! Sehr gut ! Ab welcher Version wurde diese eingeführt?

    – Grønmo brüllen

    5. März 2021 um 9:24 Uhr

  • Ich denke, nach Version 18.0.0 war der Konstruktor veraltet. LocationRequest.create() war immer da, um eine Anfrage zu erstellen, aber nach Version 18 haben sie hinzugefügt setWaitForAccurateLocation(true) zu Ihrer Standortanfrage.

    – Kunu

    5. März 2021 um 9:37 Uhr

  • jetzt ist es veraltet

    – Sadique Khan

    24. Juni 2022 um 11:18 Uhr

  • LocationRequest.create() ist jetzt veraltet. Du solltest benutzen LocationRequest.Builder()

    – Joaquin Iurchuk

    30. Oktober 2022 um 21:26 Uhr

  • @KonstantinKonopko stellen Sie sicher, dass Sie verwenden implementation "com.google.android.gms:play-services-location:21.0.0". Auf diese Weise sollten Sie nicht den LocationBuilder von API 31 verwenden, sondern stattdessen die Play Services.

    – Joaquin Iurchuk

    4. November 2022 um 20:27 Uhr


Benutzeravatar von Roar Grønmo
Roar Grønmo

LocationRequest.create().apply{ ... } ist jetzt auch veraltet.

Benutzen Sie bitte LocationRequest.Builder() stattdessen. IE so:

(locationInterval, locationFastestInterval Und locationMaxWaitTime entspricht den zuvor verwendeten Werten bei Verwendung create())

        locationRequest = LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, locationInterval)
            .setWaitForAccurateLocation(false)
            .setMinUpdateIntervalMillis(locationFastestInterval)
            .setMaxUpdateDelayMillis(locationMaxWaitTime)
            .build()

Bitte lesen Sie hier weiter: https://developer.android.com/reference/android/location/LocationRequest.Builder

und hier:
https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.Builder

  • Ich bin mir nicht sicher, ob Kotlin so funktioniert, aber für Java würde man das brauchen new Vor LocationRequest.Builder(...)

    – Anatol Bivol

    30. Oktober 2022 um 6:36 Uhr

  • @AnatolBivol In Kotlin brauchst du es normalerweise nicht.

    – Grønmo brüllen

    31. Oktober 2022 um 16:06 Uhr


  • Builder hat nur einen Parameter, siehe den als Antwort hinzugefügten Link

    – Konstantin Konopko

    3. November 2022 um 19:39 Uhr

  • @KonstantinKonopko, ja, du hast recht. Ich habe auf einen falschen Link verwiesen, ich habe den tatsächlichen Link unten als Alternative hinzugefügt.

    – Grønmo brüllen

    4. November 2022 um 12:09 Uhr

  • Dies ist die neue richtige Antwort auf diese Frage. Ich hatte diesen Weg bereits eingebaut und wollte nur den Bezug der neuen Methoden zu den alten Feldnamen bestätigen. Dies bestätigte meine Gedanken sofort, ohne auch nur Dokumente überprüfen zu müssen. @RoarGrønmo Danke!

    – Pieter van der Vyver

    Vor 2 Tagen

Diese Zeile ist jetzt veraltet: priority = LocationRequest.PRIORITY_HIGH_ACCURACY

Ersetzen durch Priorität = Priority.PRIORITY_HIGH_ACCURACY

Für alle, die mit diesem Fehler konfrontiert sind geolocator 8.0.1 von Flutter. Versuchen Sie zu bearbeiten FusedLocationClient.java:199 zur Zeit. Warten Sie dann, bis der Autor das Pub-Paket aktualisiert hat

Aus

LocationRequest locationRequest = new LocationRequest();

Zu

LocationRequest locationRequest = LocationRequest.create();

Dies ist das LocationRequest Klasse
Geben Sie hier die Bildbeschreibung ein

AKTUALISIEREN:

Konstante PRIORITY_HIGH_ACCURACY ist veraltete Verwendung Priority.PRIORITY_HIGH_ACCURACY stattdessen.

 private fun updateLocationTracking(isTracking: Boolean) {
        if(isTracking) {
            if(TrackingUtility.hasLocationPermissions(this)) {
                val request = LocationRequest.create().apply {
                    interval = LOCATION_UPDATE_INTERVAL
                    fastestInterval = FASTEST_LOCATION_INTERVAL
                    priority =  Priority.PRIORITY_HIGH_ACCURACY
                }
} 

Benutzeravatar von TRIKONINFOSYSTEMS
TRIKONINFOSYSTEME

Für JAVA habe ich es mit dem folgenden Code behoben

private LocationRequest locationRequest;

Innerhalb von onCreate()

locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 100)
            .setWaitForAccurateLocation(false)
            .setMinUpdateIntervalMillis(2000)
            .setMaxUpdateDelayMillis(100)
            .build();

Benutzeravatar von Rathod Ruturaj sinh
Rathod Ruturaj sinh

 LocationRequest locationRequest = LocationRequest.create() //if you want access of variable
                            .setInterval(100)
                            .setFastestInterval(3000)
                            .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
                            .setNumUpdates(1)
                            .setMaxWaitTime(100);

1442940cookie-checkIst ‘constructor LocationRequest()’ in Google Maps v2 veraltet?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy