2016-06-23 3 views
1

私はここで私のアプリでマップを使用しており、正常に動作します。私は1つのビューコントローラから、ここにmapとそのメソッドを含む別のビューコントローラに目的地の座標を渡します。私は、最初のviewcontrollerから値を渡すメソッド内の現在の位置を取得する方法をアドバイス0,0.pleaseアドバイスを返すが、最初のビューコントローラーから現在の場所はここでは取得されていません

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に電話する必要があります。詳細は以下のユーザーガイドのリンクをご覧ください。そのページの他の指示を読んで何か助けてください。

別のことを確認してください:あなたのアプリにCLLocationManagerのユーザーの場所を確実に受け取れるように、をプロジェクトInfo.plistに追加しましたか?

また、これは明らかかもしれませんが、あなたがポジションフィックスを持っている場合は、currentPositionの有効な値を受け取ることができることを覚えておいてください。

+0

それは今うまく動作します..ありがとう、また、私はmapviewのマーカーの配列を追加し、didselectobjectsメソッドで特定のマーカーのデータを取得したいと思います。マーカーを追加すると正常に機能し、追加した配列から特定のマーカーのデータを取得できるように、マーカーを追加する間にマーカーまたはタグをマーカーに追加したいと思います。 – Mohanraj

関連する問題