Last active
August 12, 2020 19:36
-
-
Save yektasarioglu/1621cd9a9068b7f58f8e621356f5e804 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private fun requestLocationUpdates() { | |
locationKitManager?.requestLocationUpdatesWithCallback( | |
locationRequest = LocationRequest().apply { | |
interval = 10000L | |
priority = LocationRequest.PRIORITY_HIGH_ACCURACY | |
needAddress = true // This let you to reach the current address information. | |
}, | |
locationCallback = object : LocationCallback() { | |
override fun onLocationResult(locationResult: LocationResult?) { | |
if (locationResult != null) { | |
with(locationResult.lastHWLocation) { | |
if (!isNearbyHealthInstitutionsFetched.get()) { | |
if (userLocation?.city == null && | |
userLocation?.country == null && | |
userLocation?.state == null && | |
userLocation?.coordinate == null | |
) { | |
userLocation?.city = city | |
userLocation?.country = countryName | |
userLocation?.state = state | |
userLocation?.coordinate = latitude to longitude | |
isCoordinateAvailable.value = Unit | |
viewModelScope.launch { | |
nearbyHealthInstitutionSites.value = | |
withContext(context = Dispatchers.Default) { | |
var list = listOf<Site>() | |
while (list.isEmpty()) { | |
Log.i(MTAG, "list is empty") | |
list = getNearbyHealthInstitutions() | |
} | |
isNearbyHealthInstitutionsFetched.set(true) | |
list | |
} as ArrayList<Site> | |
} | |
} | |
} | |
if (stepList != null) | |
rotateCameraToCurrentDirection(locationResult.lastLocation, stepList!!) | |
} | |
} else Log.i(MTAG, "locationResult is NULL !!") | |
} | |
}) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment