是否可以直接进入iOS上的Apple Maps应用程序中的商业信息页面?

时间:2013-05-25 00:03:33

标签: ios mapkit openurl apple-maps

我正在编写一个应用程序,其中包含各种场所的信息。我想为用户提供从Apple Maps应用程序打开位置信息屏幕的功能。我知道如何让应用程序使用以下代码打开MKMapItem:

- (void) showMoreInfoFor:(MKPlacemark*) destination {
    MKLocalSearchRequest* searchRequest = [[MKLocalSearchRequest alloc] init];
    searchRequest.naturalLanguageQuery = self.venue.name;
    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(destination.coordinate, 50.0f, 50.0f);
    searchRequest.region = region;
    MKLocalSearch* search = [[MKLocalSearch alloc] initWithRequest:searchRequest];
    [search startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
        if ([response.mapItems count] > 0) {
            [[response.mapItems objectAtIndex:0] openInMapsWithLaunchOptions:nil];
        }
    }];
}

(我也试过跳过本地搜索,只是直接用destination地标创建一个新的MKMapItem,结果完全相同。)

但是,这会将用户带到如下屏幕:

Map screen with pin for placemark

我希望用户直接进入以下屏幕,而不是要求用户点击地方标记上的披露指示符。

Map business information screen

我也尝试使用Apple地图链接(根据Apple URL Scheme Reference for Map Links),如下所示:

NSString* url = [NSString stringWithFormat:@"http://maps.apple.com/?sll=%f,%f&q=%@", destination.coordinate.latitude, destination.coordinate.longitude, [self.venue.name stringByReplacingOccurrencesOfString:@" " withString:@"+"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

但这会将用户带到类似于上面第一个的屏幕,除了在许多情况下它显示的引脚远不及URL中指定的纬度/经度(例如,在完全不同的城市中)。它也没有深入到位置信息屏幕。

是否可以从iOS应用程序导航到Apple Maps应用程序,直接进入商家/位置信息屏幕,如上面的第二个屏幕截图所示?

0 个答案:

没有答案