我正在使用故事板构建iOS应用程序。我在我的应用程序中集成了谷歌地图,并在点击时获取位置地址。
我想在地图中心的滚动地图引脚上实施一个引脚将移动并给出与Uber或Ola Cabs app相同的位置地址。
有人可以帮助我如何实现这一点,我找到了一个教程(http://www.raywenderlich.com/81103/introduction-google-maps-ios-sdk-swift),但它很快,但我必须在目标c中实现。
这是我的代码:
- (void)mapView:(GMSMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate{
// coordinate contains your coordinate :)
NSLog(@"did tap at coordinate: (%f, %f)", coordinate.latitude, coordinate.longitude);
NSString *address=[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&key=AIzaSjhsdfg67tahdsg8981k8_5aJoZps",coordinate.latitude, coordinate.longitude];
NSURL *url=[NSURL URLWithString:address];
NSData* data = [NSData dataWithContentsOfURL:url];
if ((unsigned long)data.length > 3) {
// NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSString *file=@"/Data.json";
[data writeToFile:file atomically:YES];
NSArray *ys_avatars = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"array=%@",ys_avatars);
NSLog(@"status====%@",[ys_avatars valueForKey:@"status"]);
if([[ys_avatars valueForKey:@"status"] isEqual: @"OK"]){
NSArray *results=[ys_avatars valueForKey:@"results"];
NSLog(@"formatted_address====%@",[results valueForKey:@"formatted_address"] );
NSArray *address=[results valueForKey:@"formatted_address"];
NSLog(@"add=%@",address[0]);
_myAddress.text=address[0];
}
}
}
答案 0 :(得分:2)
我无法发表评论,以便回答您的问题,您可以通过这种方式获得地图中心的长度:
- (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position
{
double latitude = mapView.camera.target.latitude;
double longitude = mapView.camera.target.longitude;
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(latitude, longitude);
marker.position = center;
}