2016-10-29 62 views
0

我試圖通過intentBuilder創建一個intent來實現google places API(Places Autocomplete)。我的應用程序成功通過單擊按鈕獲取意圖,但無法搜索某個地點。placesautocomplete result code = 2

重寫onActivityResult時,它得到resultCode = 2而不是RESULT_SUCCESS,RESULT_ERROR或RESULT_CANCELLED並返回MainActivity。

我從https://developers.google.com/places/android-api/autocomplete 了參考,並添加了依賴

compile 'com.google.android.gms:play-services-places:9.2.0' 

這裏是我的代碼

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == PLACE_AUTOCOMPLETE_REQUEST_CODE) { 
     if (resultCode == RESULT_OK) { 
      Place place = PlaceAutocomplete.getPlace(this, data); 
      Log.i(TAG, "Place: " + place.getAddress()); 
     } else if (resultCode == PlaceAutocomplete.RESULT_ERROR) { 
      Status status = PlaceAutocomplete.getStatus(this, data); 
      // TODO: Handle the error. 
      Log.i(TAG, status.getStatusMessage()); 

     } else if (resultCode == RESULT_CANCELED) { 
      Log.i("message", "the user cancelled the operation");   } 
    } 
} 

我需要一些幫助,請幫助。

回答

1

由於代碼是正確的,因此您的API_KEY中可能會出現一些錯誤。 請重新檢查API_KEY,不管是否使用了正確的SHA-1指紋來生成API_KEY,也不要忘記檢查是否已經爲開發者的控制檯啓用了用於項目的API。如果所有這些都是正確的,並且您仍然面臨同樣的錯誤,請將日誌發送給我。

希望這會有所幫助。 :)

+0

非常感謝.. Dibyanshu。 我試圖弄清楚過去兩天..事實證明,我已經啓用了Map Api而不是Api LOL。你拯救了我的一天。 再次感謝。 :) – Manisha

0

您只需查看清單文件一次,也許你正在嘗試這件事情錯了...

,而不是這種標籤:

<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="your_key"/> 

添加此標籤:

<meta-data    
    android:name="com.google.android.geo.API_KEY" 
    android:value="your_key" /> 

希望這爲您的目的服務!

+0

其實我沒有使用地圖這樣做。我怎麼能做到這一點,這是否可能? – Manisha

+0

同時用谷歌地圖實現它,你有建議的相同元數據已寫入有 <元數據 機器人:名字=「com.google.android.geo.API_KEY」 機器人:值=「@ string/google_maps_key「/> 但我仍然遇到同樣的問題。請幫忙。 – Manisha

+0

http://stackoverflow.com/a/40216226/6187290 –

相關問題