嗨,我有一个使用地图和位置的iPhone应用程序。在Xcode中打开本地谷歌地图
我希望用户能够按下一个按钮,该按钮可以通过转向指向该位置。我了解我不允许在应用中执行此操作,但我想知道是否有人可以告诉我是否可以创建指向本地Google地图应用的链接,该应用将从用户当前位置输入路线指向位置。
如果有可能你能告诉我怎么做?
任何帮助,将不胜感激。
感谢
嗨,我有一个使用地图和位置的iPhone应用程序。在Xcode中打开本地谷歌地图
我希望用户能够按下一个按钮,该按钮可以通过转向指向该位置。我了解我不允许在应用中执行此操作,但我想知道是否有人可以告诉我是否可以创建指向本地Google地图应用的链接,该应用将从用户当前位置输入路线指向位置。
如果有可能你能告诉我怎么做?
任何帮助,将不胜感激。
感谢
当然,这是可能的 - 你刚刚告诉系统打开谷歌地图的链接,与起始和结束地址设置参数。
您可能需要使用下面的谷歌地图URL尝试:
所以,你可以看到这两个参数是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];
}
}
要设置这一切了,你可以当你想设置它(说在viewDidLoad
)intialise像这样一个位置管理器的属性添加到您的控制器,然后:
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
[self.locationManager startUpdatingLocation];
调用[[UIApplication sharedApplication] openUrl:url];
会将其发送到系统的URL处理程序,该程序会检测到它是谷歌地图链接,并在地图中打开它。
希望可以帮到