在Xcode中打开本地谷歌地图
嗨,我有一个使用地图和位置的iPhone应用程序。
我希望用户能够按下一个button,该button将轮到该位置的转向。 我明白,我不允许在应用程序中这样做,但我想知道是否有人可以告诉我,如果有可能做一个链接到本地谷歌地图应用程序,将从用户当前位置进入方向的位置。
如果有可能你能告诉我怎么样?
任何帮助,将不胜感激。
谢谢
当然,这是可能的 – 你只需告诉系统打开谷歌地图链接,设置开始和结束地址的参数。
您可能想尝试使用以下Google地图url:
所以你可以看到两个参数是saddr
(起始地址)和daddr
(目标地址)。 您将这些设置为由逗号分隔的一对坐标。
下面是我写的一些代码,将用户从当前位置移动到特定的位置(在我的情况下是硬编码的)。
这是核心位置委托方法,一旦他们的位置已经build立就被调用。
- (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]; } }
要设置这一切,你可以添加一个位置pipe理器的属性到你的控制器,然后当你想要设置它(比如说在viewDidLoad
),就像这样:
self.locationManager = [[CLLocationManager alloc] init]; self.locationManager.delegate = self; [self.locationManager startUpdatingLocation];
调用[[UIApplication sharedApplication] openUrl:url];
会发送到系统的URL处理程序,它会检测到它是一个谷歌地图链接,并在地图上打开它。
希望有所帮助
- 包装在Cocoapods中的GoogleMapsUtils框架在Xcode上生成错误
- GMSTileURLConstructor返回缩放的奇怪数据
- iOS布局animation在GMSMapView拖动时忽略持续时间
- 错误使用未parsing的标识符GMSPlacePickerConfig&GooglePlacePicker? (Google Places 2.0)
- didChangeCameraPosition获取可用坐标的包围盒/矩形
- ios定期获取我的位置,并设置button来获取我的位置 – 谷歌地图不工作
- 在iOS中的GMSMapView上绘制两个地方之间的路线
- 如何在GoogleMaps for iOS中使用Firebase中的标记
- 如何在Google Map iOS SDK中获得特定的标记ID