2016-09-08 14 views
0

私はGoogleの場所apiキーを使用して検索していますが、近くの都市のみを提供しています。私はNEWYORKに住んでいると私は見つかりません結果よりも、都市を入力する場合はここで
は、例えば、コードGoogleプレイスApi Keyは近隣の都市のみに返信します

NSString *GoogleURL = [NSString stringWithFormat:@"%https://maps.googleapis.com/maps/api/place/cities/json"]; 
    NSDictionary *param = @{@"location":[NSString stringWithFormat:@"%f,%f",sharedManager.currentLocation.coordinate.latitude,sharedManager.currentLocation.coordinate.longitude], 
          @"radius":@(20000), 
          @"name":searchController.searchBar.text, 
          @"key":GOOGLE_PLACE_API_KEY 
          }; 
    AFHTTPSessionManager *manager=[[AFHTTPSessionManager alloc] init]; 
    [manager GET:GoogleURL parameters:param progress:^(NSProgress * _Nonnull downloadProgress) { 

    } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { 
     NSLog(@"%@", responseObject); 
     if ([[responseObject objectForKey:@"status"] isEqualToString:@"OK"]) { 
      self.resultsArray = [SWGooglePlace getLocationForApp:[responseObject objectForKey:@"results"]];  
     } 
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 
     NSLog(@"%@", error.localizedDescription); 
    }]; 

です。 newyork都市内に表示される場所のみ。あなたがそこ緯度、経度、都市、国を見つけるために、GoogleプレイスAPIから近くの場所を取得する際に

+0

google place apiは場所を検索するために使用されています....その後、場所から都市をフィルタリングすると別の配列になります –

+0

しかし、私は応答で都市を取得しませんでした。 – salmancs43

+0

はい、google place apiは、これらの場所から緯度、経度、都市、国のデータを取得するためにこれらの場所をジオコード逆にする必要があります近くの場所を与える –

答えて

0

は、あなたが場所を渡す必要がユーザーに、ここでアドレス列に

CLGeocoder *geocode = [CLGeocoder new]; 

    [_geoCoder geocodeAddressString:yourstring completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { 

     NSLog(@"%@",placemarks[0]); 

    }]; 

CLGeocoder

のこのメソッドを持っていますその場所の全データを提供するapiフォーマットの文字列結果。その後、都市や国のような結果から特定のデータを抽出できます。

関連する問題