iPadアプリケーションの場合、左側にTableViewを持つSplitViewがあり、レストランのリストが表示されます。右側には、それらのレストランの注釈を示すMapViewがあります。地図表示のハイライトアノテーション
私は注釈をズームしようとしています。左側の表の関連レストランをユーザーがクリックしたときに何らかの形で強調表示しています。
残念ながら、地図を再読み込みすることはできません。
これを解決する方法を教えてください。誰かが正常に動作しますトリガされ、表のセル「configureView」をクリックしたときに
はここで今私のviewDidLoad
- (void)viewDidLoad {
NSString *docsDir;
NSArray *dirPaths;
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent: @"smshipaddec2011.db"]];
const char *dbpath = [databasePath UTF8String];
MapViewAnnotation *newAnnotation;
sqlite3_stmt *statement;
if (sqlite3_open(dbpath, &smshdb2) == SQLITE_OK) {
NSString *querySQL = [NSString stringWithFormat: @"SELECT vmapx, vmapy, vname, vsection FROM SMSHVENUES"];
const char *query_stmt = [querySQL UTF8String];
if (sqlite3_prepare_v2(smshdb2, query_stmt, -1, &statement, NULL) == SQLITE_OK) {
while(sqlite3_step(statement) == SQLITE_ROW) {
double latitude = sqlite3_column_double(statement, 0);
double longitude = sqlite3_column_double(statement, 1);
CLLocationCoordinate2D location;
location.latitude = latitude;
location.longitude = longitude;
newAnnotation = [[MapViewAnnotation alloc] initWithTitle:[[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement, 2)] andCoordinate:location];
[mapView addAnnotation:newAnnotation];
[newAnnotation release];
}
sqlite3_finalize(statement);
}
sqlite3_close(smshdb2);
}
mapView.showsUserLocation = YES;
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
CLLocation *userLoc = mapView.userLocation.location;
CLLocationCoordinate2D userCoordinate = userLoc.coordinate;
MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } };
//this is Shanghai:
region.center.latitude = 31.227849 ;
region.center.longitude = 121.473770;
region.span.longitudeDelta = 0.02f;
region.span.latitudeDelta = 0.02f;
[mapView setRegion:region animated:YES];
[super viewDidLoad];
}
です。しかし、私はマップを移動する方法、その注釈をズームし、おそらく色を変更するか、それを大きくする方法はわかりません。
- (void)configureView {
// animate map
// zoom to annotation
// make it bigger or change colour
}
本当に助けていただきありがとうございます。
ありがとうございました。それはうまくいった。 – user1104325