天天看點

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

一行代碼顯示你的位置

iOS中的MapKit內建了定位的功能,使用一行代碼就可以在google地圖上展示出自己目前的位置,代碼如下:

<code>-(</code><code>IBAction</code><code>) showLocation:(</code><code>id</code><code>) sender {</code>

<code>    </code> 

<code>    </code><code>if</code> <code>([[btnShowLocation titleForState:UIControlStateNormal]</code>

<code>         </code><code>isEqualToString:@</code><code>"Show My Location"</code><code>]) {</code>

<code>        </code><code>[btnShowLocation setTitle:@</code><code>"Hide My Location"</code>

<code>                         </code><code>forState:UIControlStateNormal];</code>

<code>        </code><code>mapView.showsUserLocation =</code><code>YES</code><code>;       </code>

<code>    </code><code>}</code><code>else</code> <code>{</code>

<code>        </code><code>[btnShowLocation setTitle:@</code><code>"Show My Location"</code>

<code>        </code><code>mapView.showsUserLocation =</code><code>NO</code><code>;</code>

<code>    </code><code>}   </code>

<code>}</code>

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

使用CLLocationManager和MKMapView

還有就是通過CoreLocation架構寫代碼去請求目前的位置,一樣也非常簡單:

第一步:建立一個CLLocationManager執行個體

<code>CLLocationManager *locationManager = [[CLLocationManager alloc] init];</code>

第二步:設定CLLocationManager執行個體委托和精度

<code>locationManager.delegate =</code><code>self</code><code>;</code>

<code>locationManager.desiredAccuracy = kCLLocationAccuracyBest;</code>

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

<code>locationManager.distanceFilter = 1000.0f;</code>

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

<code>locationManager.distanceFilter = kCLDistanceFilterNone;</code>

第四步:啟動請求

<code>[locationManager startUpdatingLocation];</code>

使用下面代碼停止請求:

<code>[locationManager stopUpdatingLocation];</code>

CLLocationManagerDelegate委托

這個委托中有:locationManager:didUpdateToLocation: fromLocation方法,用于擷取經緯度。

可以使用下面代碼從CLLocation 執行個體中擷取經緯度

<code>CLLocationDegrees latitude = theLocation.coordinate.latitude;</code>

<code>CLLocationDegrees longitude = theLocation.coordinate.longitude;</code>

使用下面代碼擷取你的海拔:

<code>CLLocationDistance altitude = theLocation.altitude;</code>

使用下面代碼擷取你的位移:

CLLocationDistance distance = [fromLocation distanceFromLocation:toLocation];

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

本文轉自麒麟部落格園部落格,原文連結:http://www.cnblogs.com/zhuqil/archive/2011/07/13/2105013.html,如需轉載請自行聯系原作者

繼續閱讀