Ios 打开Apple Maps时向目标地址添加标签

Ios 打开Apple Maps时向目标地址添加标签,ios,objective-c,apple-maps,Ios,Objective C,Apple Maps,我想做的是允许用户打开Apple Maps,让它自动打开方向表单,让他们知道我所在位置的方向 目的地是纬度/经度对。我正在这样做: NSString *addressString = @"http://maps.apple.com/?daddr=50.894967,4.341626&dirflg=d"; NSURL *url = [NSURL URLWithString:addressString]; [[UIApplication sharedApplication

我想做的是允许用户打开Apple Maps,让它自动打开
方向
表单,让他们知道我所在位置的方向

目的地是纬度/经度对。我正在这样做:

NSString *addressString = @"http://maps.apple.com/?daddr=50.894967,4.341626&dirflg=d";
NSURL *url = [NSURL URLWithString:addressString];
[[UIApplication sharedApplication] openURL:url];
如我所料,这将打开Apple Maps。但是,在目的地字段中,它显示纬度/经度对。我想指定这个标签。我的意思是:

我是否可以使用URL参数用标签替换坐标


谢谢

您可以使用核心位置获取当前位置,然后可以使用该信息设置
“开始”
点。您不必设置
“End”

请检查这个链接,我相信你会发现它很有用


您可以使用核心位置获取当前位置,然后使用该信息设置
“开始”
点。您不必设置
“End”

请检查这个链接,我相信你会发现它很有用


这可能不是你想要的方式。但它给了我们更大的灵活性来打开地图应用程序。这是使用
[MKMapItem openmpswithitems:launchOptions::
请求映射打开地址。不过,屏幕看起来与您可能期望的有所不同

CLLocation* location = [[CLLocation alloc] initWithLatitude:50.894967 longitude:4.341626];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(location.coordinate, 10000, 10000);
NSDictionary *addressDict = @{
        (NSString *) kABPersonAddressStreetKey : @"Any Name",
};
MKPlacemark *destinationPlacemark = [[MKPlacemark alloc] initWithCoordinate:location.coordinate addressDictionary:addressDict];
MKMapItem *destinationMapItem = [[MKMapItem alloc] initWithPlacemark:destinationPlacemark];

[destinationMapItem openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving}];

[MKMapItem openMapsWithItems:@[destinationMapItem]
               launchOptions:@{
                       MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
                       MKLaunchOptionsMapSpanKey : [NSValue valueWithMKCoordinateSpan:region.span]
               }
];

这可能不是您想要的方式。但它给了我们更大的灵活性来打开地图应用程序。这是使用
[MKMapItem openmpswithitems:launchOptions::
请求映射打开地址。不过,屏幕看起来与您可能期望的有所不同

CLLocation* location = [[CLLocation alloc] initWithLatitude:50.894967 longitude:4.341626];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(location.coordinate, 10000, 10000);
NSDictionary *addressDict = @{
        (NSString *) kABPersonAddressStreetKey : @"Any Name",
};
MKPlacemark *destinationPlacemark = [[MKPlacemark alloc] initWithCoordinate:location.coordinate addressDictionary:addressDict];
MKMapItem *destinationMapItem = [[MKMapItem alloc] initWithPlacemark:destinationPlacemark];

[destinationMapItem openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving}];

[MKMapItem openMapsWithItems:@[destinationMapItem]
               launchOptions:@{
                       MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
                       MKLaunchOptionsMapSpanKey : [NSValue valueWithMKCoordinateSpan:region.span]
               }
];

只需将核心位置用于当前位置,然后开始,不需要结束

只需将核心位置用于当前位置,然后开始,不需要结束

对不起,我真的不明白要实现什么。你能再解释一下吗?@joern在截图中,“End:”字段会自动填充为“50.894967,4.341626”,但我希望能够指定一些其他文本进入该字段(我正在导航用户的位置的名称)。对不起,我真的不明白要实现什么。你能再解释一下吗?@joern在屏幕截图中,“End:”字段会自动填充为“50.894967,4.341626”,但我希望能够指定一些其他文本进入该字段(我将用户导航到的位置的名称)