[英]How to compare the coordinates of a location to the current coords of a user
我正在將位置的坐標與用戶的當前坐標進行比較。 距離輸出像:6056609.511004132946254686
我不確定這是什么度量。我希望最終的測量距離以km為單位。
// location of deal
CLLocation *locA = [[CLLocation alloc] initWithLatitude:latNum longitude:lngNum];
// user's current location
CLLocation *locB = [[CLLocation alloc] initWithLatitude:currentLatitude longitude:currentLongitude];
CLLocationDistance distanceToDeal = [locA distanceFromLocation:locB];
對文檔的最粗略的閱讀將使這一點變得清晰。 如果您打開快速幫助檢查器(在Xcode 4.5中,按Command + Option + 2或從“查看”菜單的“實用工具”部分中選擇“顯示快速幫助檢查器”),然后在代碼中單擊distanceFromLocation
,它在那里為您提供了有關該方法的文檔,從而使您可以清楚地看到它是以米為單位的。 或者,在將鼠標移到代碼中的distanceFromLocation
方法上時,按住選項鍵,然后單擊(仍然按住選項鍵的同時),您將看到一個在線幫助彈出窗口。
在這里發布問題之前,您確實應該查看Apple文檔。
以米為單位,來自Apple文檔:
CLLocationDistance
距現有位置的距離(以米為單位)。
typedef double CLLocationDistance
可用性在iOS 2.0和更高版本中可用。 在CLLocation.h中聲明
如Apple文檔中所述,distanceFromLocation函數的返回值以米為單位。 因此,您要做的是將米轉換為km;)
CLLocation *locA = [[CLLocation alloc] initWithLatitude:latNum longitude:lngNum];
CLLocation *locB = [[CLLocation alloc] initWithLatitude:currentLatitude longitude:currentLongitude];
//Compute distance in meters
CLLocationDistance distanceToDeal = [locA distanceFromLocation:locB];
//Convert meters to km
double km = distanceToDeal/1000;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.