iOS 6蘋果地圖應用(MapKit)-開啟外部應用

來源:互聯網
上載者:User

原始地址:iOS 6蘋果地圖應用(MapKit)-開啟外部應用

在iOS 6中,蘋果把google地圖換成了自己的地圖,看上去不錯。


iOS 6以下(google map web)

iOS 6

  

實現代碼

標頭檔匯入和判斷版本的預定義聲明

     #import <MapKit/MapKit.h>        #define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

具體實現

    CLLocationCoordinate2D coords1 =    CLLocationCoordinate2DMake(30.691793,104.088264);    CLLocationCoordinate2D coords2 =    CLLocationCoordinate2DMake(30.691293,104.088264);    if (SYSTEM_VERSION_LESS_THAN(@"6.0"))// ios6以下,調用google map    {        NSString *urlString = [[NSString alloc]                               initWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirfl=d",                               coords1.latitude,coords1.longitude,coords2.latitude,coords2.longitude];        NSURL *aURL = [NSURL URLWithString:urlString];        //開啟網頁google地圖        [[UIApplication sharedApplication] openURL:aURL];    }else// 直接調用ios自己帶的apple map    {        //當前的位置        //MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];        //起點        MKMapItem *currentLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords1 addressDictionary:nil]];        //目的地的位置        MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords2 addressDictionary:nil]];        toLocation.name = @"目的地";        NSArray *items = [NSArray arrayWithObjects:currentLocation, toLocation, nil];                /*         //keys         MKLaunchOptionsMapCenterKey:地圖中心的座標(NSValue)         MKLaunchOptionsMapSpanKey:地圖顯示的範圍(NSValue)         MKLaunchOptionsShowsTrafficKey:是否顯示交通訊息(boolean NSNumber)                  //MKLaunchOptionsDirectionsModeKey: 導航類型(NSString)         {            MKLaunchOptionsDirectionsModeDriving:駕車            MKLaunchOptionsDirectionsModeWalking:步行         }                  //MKLaunchOptionsMapTypeKey:地圖類型(NSNumber)         enum {         MKMapTypeStandard = 0,         MKMapTypeSatellite,         MKMapTypeHybrid         };         */        NSDictionary *options = @{            MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,            MKLaunchOptionsMapTypeKey:        [NSNumber numberWithInteger:MKMapTypeStandard],            MKLaunchOptionsShowsTrafficKey:@YES        };        //開啟蘋果自身地圖應用,並呈現特定的item        [MKMapItem openMapsWithItems:items launchOptions:options];    }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.