2017-06-20 76 views
-1

我有問題了解如何使用Place Picker。 第一:我有沒有下載PlacePicker? 我不是,我試着寫這段代碼:PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();Android Place Picker:完整說明

IDE顯示「PlacePicker」紅色,就像它無法解決它。如果我按ALT + ENTER,IDE建議「插入App索引API代碼」。我選擇了這個,但似乎沒有發生(可能IDE更改其他文件,但錯誤仍然存​​在)。

也許我對這個工具有不好的認識。所以我需要解釋一下它的用法。

回答

0

我認爲你沒有遵循正確的指導。您必須先註冊並獲得使用PlacePicker API的密鑰。你可以做同樣的here

之後,將gradle dependency:compile 'com.google.android.gms:play-services-places:9.2.0'添加到您的應用程序級別build.gradle文件並同步您的項目。

在此之後,您將可以使用PlacePicker API,如文檔here所述。

0

現在編譯代碼,但是在執行時,地圖選取器只顯示幾秒鐘然後消失。我需要在按下按鈕時加載選擇器。

public class Manage_Point extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_manage__point); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new Pick_coordinates(this)); 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == 1 && resultCode == RESULT_OK) { 
     Place place = PlacePicker.getPlace(data, this); 
     String toastMsg = String.format("Place: %s", place.getName()); 
     Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show(); 
    } 
}} 

public class Pick_coordinates implements View.OnClickListener { 
private Activity activity; 

public Pick_coordinates(Activity activity) { 
    this.activity = activity; 
} 

public void onClick(View view) { 
    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); 
    try { 
     activity.startActivityForResult(builder.build(activity), 1); 

    } catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) { 
     e.printStackTrace(); 
    } 
}}