iOS開發如何在google地圖上顯示自己的位置

johnchou發表於2021-09-09

一行程式碼顯示你的位置

iOS中的MapKit整合了定位的功能,使用一行程式碼就可以在google地圖上展示出自己當前的位置,程式碼如下:

-(IBAction) showLocation:(id) sender {
     
    if ([[btnShowLocation titleForState:UIControlStateNormal]
         isEqualToString:@"Show My Location"]) {
        [btnShowLocation setTitle:@"Hide My Location"
                         forState:UIControlStateNormal];
        mapView.showsUserLocation = YES;       
    } else {
        [btnShowLocation setTitle:@"Show My Location"
                         forState:UIControlStateNormal];
        mapView.showsUserLocation = NO;
    }   
}

關鍵的程式碼就是:mapView.showUserLocation=YES.

使用CLLocationManager和MKMapView

還有就是透過CoreLocation框架寫程式碼去請求當前的位置,一樣也非常簡單:

第一步:建立一個CLLocationManager例項

CLLocationManager *locationManager = [[CLLocationManager alloc] init];

第二步:設定CLLocationManager例項委託和精度

locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;

第三步:設定距離篩選器distanceFilter,下面表示裝置至少移動1000米,才通知委託更新

locationManager.distanceFilter = 1000.0f;

或者沒有篩選器的預設設定:

locationManager.distanceFilter = kCLDistanceFilterNone;

第四步:啟動請求

[locationManager startUpdatingLocation];

使用下面程式碼停止請求:

[locationManager stopUpdatingLocation];

 

CLLocationManagerDelegate委託

這個委託中有:locationManager:didUpdateToLocation: fromLocation方法,用於獲取經緯度。

可以使用下面程式碼從CLLocation 例項中獲取經緯度

CLLocationDegrees latitude = theLocation.coordinate.latitude;
CLLocationDegrees longitude = theLocation.coordinate.longitude;

使用下面程式碼獲取你的海拔:

CLLocationDistance altitude = theLocation.altitude;

使用下面程式碼獲取你的位移:

CLLocationDistance distance = [fromLocation distanceFromLocation:toLocation];

總結:本文主要是講解了如何在iOS裝置google地圖上展示自己的當前位置。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4422/viewspace-2808409/,如需轉載,請註明出處,否則將追究法律責任。

相關文章