Ios 打开Apple Maps时向目标地址添加标签
我想做的是允许用户打开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
方向
表单,让他们知道我所在位置的方向
目的地是纬度/经度对。我正在这样做:
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”,但我希望能够指定一些其他文本进入该字段(我将用户导航到的位置的名称)