我一直在解决这个问题:在我的应用程序中,我使用一个链接在特定坐标处打开 Apple map 应用程序。然而,问题是当我的应用程序和 map 应用程序第一次打开时, map 会快速返回到用户的位置。我已经阅读了很多关于这个主题的问题,但它们都使用 mapKit 而不是共享应用程序,所以这对我帮助不大。
我使用 UIApplication
对象打开应用程序。我的完整代码:
UIApplication *maps = [UIApplication sharedApplication];
float latitude = 52.379189;
float longitude = 4.899431;
NSURL *mapsURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://maps.apple.com/?sll=%f,%f&z=10", latitude, longitude]];
if ([maps canOpenURL:mapsURL]) {
[maps openURL:mapsURL options:@{} completionHandler:nil];
} else {
NSLog(@"Can't open the maps app");
}
有关 map 链接约定的更多信息,请查看 this link出
关于如何解决这个问题有什么想法吗?我应该放弃这个方法并改用 mapKit 吗?提前致谢!
最佳答案
找到了!我使用了 MapKit 类中的构建。我现在使用这段代码:
float latitude = 52.379189;
float longitude = 4.899431;
MKPlacemark *location = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(latitude, longitude)];
MKMapItem *maps = [[MKMapItem alloc] initWithPlacemark:location];
[maps setName:@"Site x"];
[maps openInMapsWithLaunchOptions:nil];
另一个好处是您可以指定位置的名称,并且在 map 应用程序中您可以轻松地创建到该位置的路线。
关于ios - map 链接快速回到用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43680014/