お店紹介のホームボタンをタップすると地図にピンを立ててバルーンを表示するようする。

 

delegateに情報をセットして、GeoFenceタブを呼ぶ。

TakePhotoAppDelegate* get = (TakePhotoAppDelegate *)[[UIApplication sharedApplication] delegate];

get.contributeID = contributeID;

get.name = name;

get.latitude=latitude;

get.longitude =longitude;

get.comment = comment;e

[result addObject:get];

UITabBarController *tabs = self.tabBarController;

tabs.selectedIndex = 1;

呼ばれた地図側ではDelegeteに情報がセットされていれば、その地点に飛んで地図を表示、ピンを立ててバルーンで情報を表示します。

TakePhotoAppDelegate* get = (TakePhotoAppDelegate *)[[UIApplication sharedApplication] delegate];

if(get.latitude) {

//経度緯度文字列を数値に変換

double lat_su = [ get.latitude doubleValue ];

double lng_su = [ get.longitude doubleValue ];

CLLocationCoordinate2D co;

co.latitude = lat_su; // 緯度

co.longitude = lng_su; // 経度

[_mapView setCenterCoordinate:co animated:NO];

MKCoordinateRegion rgn;

memset(&rgn, 0, sizeof(rgn));     // 構造体をクリアする

rgn.center.latitude = co.latitude;      // 中心位置を設定する

rgn.center.longitude = co.longitude;

rgn.span.latitudeDelta = 0.01;      // ズームレベルを設定する

rgn.span.longitudeDelta = 0.01;

[self.mapView setRegion:rgn animated:YES];  // 表示領域を設定する

CustomAnnotation*  annotation;    // カスタムアノテーションを作成する

annotation = [CustomAnnotation alloc];

CustomAnnotation *ha = [[CustomAnnotation alloc] initWithCoordinate:co];

ha.title = get.name;

ha.subtitle = get.comment;

ha.isStart = NO;

[_mapView addAnnotation:ha];   // ピンを立てる

[_mapView removeOverlays:_mapView.overlays]; //地図に上書き

 

ジオフェンスボタンをタップするとお店を中心にジオフェンスを張ります。

 

 

 

 

 

 

 

 

 

 

 

現在位置表示ボタン追加して、タップすると現在地を表示するようにしました。

 

- (IBAction)ButtonPushed:(id)sender {

_mapView.centerCoordinate = _mapView.userLocation.location.coordinate;

MKCoordinateSpan span = MKCoordinateSpanMake(0.01, 0.01);

MKCoordinateRegion region = MKCoordinateRegionMake(_mapView.userLocation.coordinate, span);

[_mapView setRegion:region animated:YES];

self.mapView.showsUserLocation = YES;  //青丸表示

[self.mapView setUserTrackingMode:MKUserTrackingModeFollow];   //追跡

}