![](/img/trans.png)
[英]Android, trying to find logic to store latitude and longitude values from user location
[英]Find closest longitude and latitude in array from user location - Android Studio
以下代碼對我最近完成的iOS應用程序很重要:
var closestLocation: CLLocation?
var smallestDistance: CLLocationDistance?
for location in locations {
let distance = currentLocation.distanceFromLocation(location)
if smallestDistance == nil || distance < smallestDistance {
closestLocation = location
smallestDistance = distance
}
}
我的問題很簡單: 這段代碼在Java for Android Studio中的外觀如何?
這是我第一次在Java和Android Studio上運行,因此將不勝感激。
Location closestLocation = null;
float smallestDistance = -1;
for(Location location:mLocationsList){
float distance = currentLocation.distanceTo(location);
if(smallestDistance == -1 || distance < smallestDistance) {
closestLocation = location
smallestDistance = distance
}
}
使用mLocationsList
是位置對象的可迭代集合,並且已經設置了currentLocation
您應該考慮使用Location類。 它用於存儲緯度和經度中的位置。 它還具有用於計算點之間的距離的預定義功能distanceBetween()
。
Location closestLocation;
int smallestDistance = -1;
假設位置是ArrayList<Location>()
for(Location location : locations){
int distance = Location.distanceBetween(closestLocation.getLatitude(),
closestLocation.getLongitude(),
location.getLatitude(),
location.getLongitude());
if(smallestDistance == -1 || distance < smallestDistance){
closestLocation = location;
smallestDistance = distance;
}
}
看起來像這樣(位置必須可迭代,並且必須設置userLocation):
Location closest;
float smallestDistance = Float.MAX_VALUE;
for (Location l : locations) {
float dist = l.distanceTo(userLocation);
if (dist < smallestDistance) {
closest = l;
smallestDistance = dist;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.