2017-02-03 18 views
1

Google Places APIを実装しています。自動補完機能を使用しています。場所IDを取得しました。現在、場所IDを使用しています。その場所の位置座標を検索したいと思います。 GMSPlaceはジオメトリの位置を返しません。私は検索しましたが、何の助けも得ていませんでした。Google Places APIを使用して場所の位置座標を取得するにはどうすればよいですか?

GMSPlacesClient *placeClient=[GMSPlacesClient sharedClient]; 
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; 
filter.type = kGMSPlacesAutocompleteTypeFilterEstablishment; 

[placeClient autocompleteQuery:str 
         bounds:nil 
         filter:filter 
         callback:^(NSArray *results, NSError *error) { 
          if (error != nil) { 
           NSLog(@"Autocomplete error %@", [error localizedDescription]); 
           return; 
          } 

          for (GMSAutocompletePrediction* result in results) { 
           //NSLog(@"Result '%@'", result.attributedFullText.string); 
           [placeName addObject:[NSString stringWithFormat:@"%@",result.attributedFullText.string]]; 
           [placeID addObject:[NSString stringWithFormat:@"%@",result.placeID]]; 
          } 

        NSLog(@"%@",placeName); 
        NSLog(@"%@",placeName); 
    }]; 
} 
+0

shiw urコードを試してみてください。 –

+0

コメント@ Anbu.Karthik – kishan

+0

でコードを確認してください。 –

答えて

1

私はあなたがこの

NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; 

[_placesClient lookUpPlaceID:placeID callback:^(GMSPlace *place, NSError *error) { 
    if (error != nil) { 
    NSLog(@"Place Details error %@", [error localizedDescription]); 
    return; 
    } 

    if (place != nil) { 
    NSLog(@"Place name %@", place.name); 
    NSLog(@"Place address %@", place.formattedAddress); 
    NSLog(@"Place placeID %@", place.placeID); 
    NSLog(@"Place attributions %@", place.attributions); 
    } else { 
    NSLog(@"No place details for %@", placeID); 
    } 
}]; 

参照のような場所のIDを使用して場所の詳細情報を得ることができると思います。これをチェックしてくださいDock。この呼び出しはGMSPlaceを返します。 GSMPlaceにはプロパティの座標があります。このコードについての問い合わせは、私はちょうどあなたを助ける私を知らせる場合

1

あなたが場所IDを持っている場合、このURLを使って座標を見つけることができます。これはあなたの場所の詳細を提供します。あなたが場所IDから場所の詳細を取得することができますhere

1

https://maps.googleapis.com/maps/api/place/details/json?input=bar&placeid=PLACE_ID&key=API_KEY 
+0

はい、ドキュメントに表示されますが、座標は返されません。 – kishan

1

MainDictionaryNSMutableDictionary

plceidkey = @"YOUR_GOOGLE_MAP_PLACE_KEY"; 


NSString *URLString1 = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/details/json?placeid=%@&key=%@", "YOUR_PLACE_ID",plceidkey]; 

NSURLRequest *request1 = [NSURLRequest requestWithURL:[NSURL 
                   URLWithString:URLString1]]; 

NSData *response = [NSURLConnection sendSynchronousRequest:request1 
               returningResponse:nil error:nil]; 
NSError *error; 
MainDictionary=[NSJSONSerialization JSONObjectWithData:response options:kNilOptions error:&error]; 

// here you got address 
address1=[[MainDictionary valueForKey:@"result"]valueForKey:@"formatted_address"]; 

// here got your place name 
placename=[[MainDictionary valueForKey:@"result"]valueForKey:@"name"]; 

// here got latitude of your place  
lat1=[[[[MainDictionary valueForKey:@"result"]valueForKey:@"geometry"] valueForKey:@"location" ]valueForKey:@"lat"]; 

// here got logitude of your place 
long1=[[[[MainDictionary valueForKey:@"result"]valueForKey:@"geometry"] valueForKey:@"location" ]valueForKey:@"lng"]; 

です。

ハッピーコーディング。

関連する問題