自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iPhone應(yīng)用地圖開發(fā)教程

移動開發(fā) iOS
iPhone應(yīng)用地圖開發(fā)教程是本文要介紹的內(nèi)容,開發(fā)中在處理MKAnnotationView時(shí),都要判斷對應(yīng)annotation是不是MKUserLocation這個顯示用戶當(dāng)前位置的藍(lán)點(diǎn),以避免誤操作。

iPhone應(yīng)用地圖開發(fā)教程是本文要介紹的內(nèi)容,文章講述的是一個有趣的實(shí)例。不多說,我們之間來看詳細(xì)內(nèi)容介紹。

1,計(jì)算兩點(diǎn)之間的距離

  1. [locationManager startUpdatingLocation];(已格式化成如12.34 km):  
  2. [NSString stringWithFormat:@"%0.2f km",[userLocation getDistanceFrom:location]/1000]  

2,在處理MKAnnotationView時(shí),都要判斷對應(yīng)annotation是不是MKUserLocation這個顯示用戶當(dāng)前位置的藍(lán)點(diǎn),以避免誤操作。

  1. [annotation isKindOfClass:[MKUserLocation class]]  

3、

  1. - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 

這個delegate函數(shù)一般會在給MKMapView對象添加 annotations后馬上執(zhí)行,但執(zhí)行不會馬上結(jié)束。如果在它完成之前就調(diào)用

  1. [mapView viewForAnnotation:someAnnotation]; 

的話,會返回nil的結(jié)果,這時(shí)對這個返回的nil做任何操作都不會在屏幕上顯示……

4,MKMapView放大縮小時(shí),需要注意的是放大,至少放大2倍以上才會被執(zhí)行。

  1. - (IBAction)doZoomIn:(id)sender{//放大   
  2.     MKCoordinateRegion region = mMapView.region;   
  3.     regionregion.span.latitudeDelta=region.span.latitudeDelta * 0.4;   
  4.     regionregion.span.longitudeDelta=region.span.longitudeDelta * 0.4;   
  5.     [mapView setRegion:region animated:YES];   
  6. }   
  7. - (IBAction)doZoomOut:(id)sender{//縮小   
  8.     MKCoordinateRegion region = mMapView.region;   
  9.     regionregion.span.latitudeDelta=region.span.latitudeDelta * 1.3;   
  10.     regionregion.span.longitudeDelta=region.span.longitudeDelta * 1.3;   
  11.     [mapView setRegion:region animated:YES];   
  12. }  

5, 下面隨便列一些其他沒提到的代碼,供搜索引擎搜索

  1. CLLocationCoordinate2D coordinate;   
  2. //Location Paris   
  3. coordinate.latitude = 48.856660;   
  4. coordinate.longitude = 2.350996;   
  5. MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(coordinate, distance, distance);   
  6. MKCoordinateRegion adjustedRegion = [mapView regionThatFits:viewRegion];   
  7. [mapView setRegion:adjustedRegion animated:animated];  

6,問 題:

發(fā)現(xiàn)MKAnnotationView的Callout View有bug。

我在后臺更新subtitle后,若不手動點(diǎn)一下其他 MKAnnotationView再點(diǎn)回之前已經(jīng)顯示Calloutview的MKAnnotationView的話,那這個 MKAnnotationView的Calloutview里的subtitle就不會被更新……

說清楚點(diǎn)就是:點(diǎn)了某個大頭針顯示信息后,若這時(shí)后臺更新了它的subtitle,然后你再點(diǎn)這個大頭針會發(fā)現(xiàn)它的subtitle顯示成了一個空白。這時(shí)得點(diǎn)一下其他大頭針,再點(diǎn)回來,原來那個大頭針的信息才是完整的。

雖然有個notification是 MKAnnotationCalloutInfoDidChangeNotification,但SDK手冊里說這個已經(jīng)不能用了。我嘗試用了一下也沒有任何效果……
不知道還有其他方法沒。

小結(jié):iPhone應(yīng)用地圖開發(fā)教程的內(nèi)容介紹完了,希望本文對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-08 14:58:16

iPhone Xcode iOS

2012-09-24 09:46:20

JavaScriptJSHTML5

2011-08-08 18:19:09

iPhone音頻播放

2011-08-10 10:23:20

iPhoneArchivingNSCoder

2011-08-15 13:44:07

iPhone開發(fā)UITableView

2011-08-10 15:48:10

iPhone網(wǎng)絡(luò)

2011-08-02 17:37:01

IPhone開發(fā) 環(huán)境搭建

2011-07-08 16:02:24

iphone

2011-08-10 18:24:22

iPhone 圖形 繪圖

2011-07-21 10:29:18

iPhone 開發(fā)

2011-07-19 09:46:38

2011-07-19 09:58:36

2011-08-08 16:56:44

iPhone 字符處理 視圖

2011-08-08 10:10:14

iPhone開發(fā) 圖片 方法

2011-08-09 17:29:29

iPhone文件屏幕

2011-08-10 10:10:21

iPhoneUIPopoverCo

2011-07-18 09:35:29

iPhone 框架

2011-08-15 11:31:27

iPhone開發(fā)日志

2011-07-27 16:46:04

iPhone iPhone破解 MacPort

2011-08-12 10:09:23

iPhone開發(fā)多線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號