2016-11-16 114 views
1

我將其添加到我的Android應用程序Place Picker中。當你知道你想選擇的地點並填寫研究欄時,它就可以工作。 但我希望用戶有可能在使用紅色選擇器時選擇他所選擇的位置,而這部分不起作用。適用於Android的Google Place API:無法使用Place Picker的選取器選擇地點

當你用紅色選擇器選擇一個地方,然後點擊「選擇此位置」,如here

我們無法選擇該地點。 「選擇」按鈕呈灰色。就像你可以觀察到here

當然,我已經在Google Developer Console上啓用Google Place Android API和Google Maps Android API。

我搜索了stackoverflow的原因(和解決方案)。我發現一些帖子說把我們可以在裏面谷歌的開發者控制檯上發現的API密鑰:

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

我做到了,但沒有任何積極的結果。

然後我試圖從零開始再次執行Place Picker,但沒有成功。

這是我在地點選擇器的代碼:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_edit_location); 
    Button chooseLocationButton = (Button) findViewById(R.id.choose_location); 
    PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder(); 
    try { 
     final Intent intent = intentBuilder.build(this); 
     chooseLocationButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivityForResult(intent, REQUEST_PLACE_PICKER); 
      } 
     }); 

    } catch (GooglePlayServicesRepairableException e) { 
     e.printStackTrace(); 
     // TODO handle exception! 
    } catch (GooglePlayServicesNotAvailableException e) { 
     e.printStackTrace(); 
     // TODO handle exception! 
    } 


@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == REQUEST_PLACE_PICKER) { 
     if (resultCode == RESULT_OK) { 
      Place place = PlacePicker.getPlace(data, this); 
      String toast = String.format("Place: %s", place.getName()); 
      longitude = place.getLatLng().longitude; 
      latitude = place.getLatLng().latitude; 
      Toast.makeText(this, toast, Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

我不找了解決方案,試圖在互聯網上。這就是爲什麼我寫這個問題。有沒有人知道爲什麼這不起作用?

謝謝。

回答

1

我認爲您的API控制檯中未啓用「Google Places API for Android」,請啓用它。我曾經遇到同樣的問題。我解決了使用上述解決方案。

相關問題