トップ «前の日記(2012-10-14) 最新 次の日記(2012-10-16)» 編集

Cocoa練習帳

iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど

2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|

2012-10-15 [iOS]地図(現在位置を表示)

住所から現在位置を取得するサンプルがないことを考えると、ここは検索サービスの領域でライセンスという問題がありそうだ。

現在位置を取得して、そこを表示する事には制限はないようなので、試してみる事にする。

ビューコントローラをCLLocationManagerDelegateに対応させる。

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import <CoreLocation/CLLocationManagerDelegate.h>
#import "BingMaps/BingMaps.h"
 
@interface VirtualEarthViewController : UIViewController <BMMapViewDelegate, CLLocationManagerDelegate>
@property (nonatomic, weak) IBOutlet BMMapView  *mapView;
@property (nonatomic, strong) CLLocationManager *locationManager;
@end

ビューコントローラが表示される度に、現在位置を取得し、そこを表示する。

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    
    self.locationManager = [[CLLocationManager alloc] init];
    self.locationManager.delegate = self;
    [self.locationManager startUpdatingLocation];
}
 
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLLocation  *location = [locations objectAtIndex:0];
    BMCoordinateRegion  newRegion;
    newRegion.center = location.coordinate;
    newRegion.span.latitudeDelta = 0.0;
    newRegion.span.longitudeDelta = 0.0;
	
    [self.mapView setRegion:newRegion animated:YES];
 
    [self.locationManager stopUpdatingLocation];
}

指定した住所を表示する単純な地図が欲しいのだが、どうしようかな。

_ ソースコード

GitHubからどうぞ。
https://github.com/murakami/workbook/tree/master/ios/VirtualEarth - GitHub

_ 【Cocoa練習帳】

http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)

トップ «前の日記(2012-10-14) 最新 次の日記(2012-10-16)» 編集