2016-06-23 4 views
1

여기 내지도를 내 앱에서 사용하고있어 잘 작동합니다. 하나의보기 컨트롤러에서 여기에 map과 그 메소드가 들어있는 다른 viewcontroller로 대상 좌표를 전달합니다. 나는 두 번째보기 컨트롤러에서 메서드를 현재 위치를 얻으려고했는데, 현재 위치는 항상 0,0.please 조언을 반환합니다. 첫 번째 viewcontroller에서 값을 전달하는 방법은 현재 위치를 얻는 방법입니다.현재 위치가 여기에 없습니다.

viewcontroller1 :

- (IBAction)btn_navigate:(id)sender 
{ 
    NSLog(@"%@",_POiarray); 
    _VC=[[NaviMeVC alloc]init]; 
    [_VC GetPoi:_POiarray]; 
    [self.navigationController pushViewController:_VC animated:YES]; 
} 

mapviewcontroller :

-(void)GetPoi:(NSMutableArray *)anArray 
{ 
    //get current location 

    NMAGeoPosition * position=[[NMAGeoPosition alloc]init]; 
    position = [[NMAPositioningManager sharedPositioningManager] currentPosition]; 
    _StartCoordinate=[[NMAGeoCoordinates alloc]initWithLatitude:position.coordinates.latitude longitude:position.coordinates.longitude]; 

    //not working returns nil 



    [[NMAMapLoader sharedMapLoader] setDelegate:self]; 
    _SelectedPOi=[[NSMutableArray alloc]init]; 
    _SelectedPOi=anArray; 
    NSString *lat=[anArray valueForKey:@"latitude"]; 
    CLLocationDegrees latitu=[lat doubleValue]; 
    NSString *longi=[anArray valueForKey:@"longitude"]; 
    CLLocationDegrees longit=[longi doubleValue]; 
    _DestinationCoordinate=[[NMAGeoCoordinates alloc]initWithLatitude:latitu longitude:longit]; 
    NSLog(@"%f %f",_DestinationCoordinate.latitude,_DestinationCoordinate.longitude); 
    NSNumber *lati = [NSNumber numberWithDouble:latitu]; 
    NSNumber *longitu = [NSNumber numberWithDouble:longit]; 
    NSDictionary *[email protected]{@"lat":lati,@"long":longitu}; 

    NMARoutingMode* routingMode = [[NMARoutingMode alloc] initWithRoutingType:NMARoutingTypeShortest 
                  transportMode:NMATransportModeCar 
                  routingOptions:0]; 
    [self CalculateRoute:routingMode]; 
} 
+0

하여 사용 MKMapView 또는 Google지도의 경우? –

답변

1

는 위치 업데이트를 받기 시작하려면 귀하의 샘플 코드에서 볼 수없는 NMAPositioningManager startPositioning으로 전화해야합니다. 자세한 내용은 아래의 사용자 가이드 링크를 참조하십시오. 해당 페이지의 다른 지침을 읽고 도움이되는지 확인하십시오.

또 다른 것은

확인 사항 : 당신이 당신의 프로젝트에 NSLocationWhenInUseUsageDescription을 추가 한 Info.plist 파일을 앱 CLLocationManager에서 사용자 위치를 수신 할 수 있도록?

또한 확실한 것으로 보일 수 있지만 위치 수정이있는 경우에만 currentPosition에 대한 유효한 값만 수신 할 수 있습니다.

+0

그것은 잘 작동합니다 .. 덕분에 많이 그리고 또한 mapview에 마커의 배열을 추가하고 didselectobjects 메서드에서 특정 마커의 데이터를 retrive 싶어요. 마커 추가 잘 작동하고 추가 된 배열에서 해당 마커에 대한 데이터를 검색 할 수 있도록 그들을 추가하는 동안 마커를 태그 또는 식별자를 추가하려면 ... 제발 .. 도와주세요. – Mohanraj

관련 문제