Jam*_*tan 2 iphone xcode google-maps mapkit ios
嗨我有一个使用地图和位置的iPhone应用程序.
我希望用户能够按下一个按钮,该按钮可以转向该位置.我知道我不允许在应用程序中执行此操作,但我想知道是否有人可以告诉我是否可以链接到本地谷歌地图应用程序,该应用程序将从用户当前位置输入到该位置的路线.
如果有可能你还可以告诉我怎么样?
任何帮助,将不胜感激.
谢谢
Ale*_*lan 10
当然,这是可能的 - 你只需告诉系统打开一个谷歌地图链接,其中包含开始和结束地址集的参数.
您可能想尝试使用以下Google地图网址:
所以你可以看到两个参数是saddr
(起始地址)和
daddr
(目标地址).您将它们设置为一对坐标,以逗号分隔.
以下是我编写的一些代码,它将把用户从当前位置带到特定位置(在我的情况下是硬编码的).
这是核心位置委托方法,一旦建立了它们的位置就会调用它.
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
if (newLocation.horizontalAccuracy == oldLocation.horizontalAccuracy) {
[self.locationManager stopUpdatingLocation];
CLLocationCoordinate2D coords = newLocation.coordinate;
NSString *stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps?saddr=%g,%g&daddr=50.967222,-2.153611", coords.latitude, coords.longitude];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
}
}
Run Code Online (Sandbox Code Playgroud)
要设置这一切,你可以将一个位置管理器的属性添加到你的控制器,然后当你想要设置它(比如说viewDidLoad
)初始化时,它是这样的:
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
[self.locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)
调用[[UIApplication sharedApplication] openUrl:url];
会将其发送到系统的URL处理程序,该处理程序将检测到它是谷歌地图链接,并在地图中打开它.
希望有所帮助
归档时间: |
|
查看次数: |
9343 次 |
最近记录: |