2014-11-21 1 views
2

storyboards.I를 사용하여 iOS 앱을 제작하고 있습니다. 앱에서 Google지도를 통합하고 탭하여 위치 주소를 가져 왔습니다.센터 Google지도의 위도와 경도를 구하는 방법 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 *[email protected]"/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]; 

     } 

    } 

} 
+2

하는 경우를 나는 그것이지도의 중심의 위도와 경도를 항상 얻기를 원한다고 올바르게 이해합니다. 그것이 UBER가 작동하는 방식입니다. 그렇다면 doTapAtCoordinate를 구현해야한다고 생각하지 않습니다. 대신 mapView : didChangeCameraPosition : – Vig

+0

@Vig ThanksYeaaa 당신이 절대적으로 옳습니다. 예제를 어떻게 구현할 수 있습니까? 카메라 위치의 중심에서 어둡고 오래있을 수있는 방법을 알려주시겠습니까? 맞습니다. 이것이 구현해야하는 것입니다. – Test123

답변

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; 

} 
관련 문제