如何获得中心谷歌地图iOS的纬度和经度

Tes*_*123 2 google-maps objective-c ios

我正在使用故事板构建一个 iOS 应用程序。我在我的应用程序中集成了谷歌地图并在点击时获取位置地址。

我想在滚动地图上的地图中心实现一个图钉将移动并提供与 Uber 或 Ola Cabs 应用程序中相同的位置地址。

有人可以帮助我如何实现这一点吗,我找到了一个教程(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];

        }

  }

}
Run Code Online (Sandbox Code Playgroud)

use*_*182 5

我无法评论以回答您的问题,您可以通过这种方式获得地图中心的纬度和经度:

    - (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;

 }
Run Code Online (Sandbox Code Playgroud)