我正在尝试返回用户在Google Maps Android应用程序中选择的位置,但似乎找不到有关如何完成此任务的信息。

我创建了一个Intent以打开GMaps Activity ,但是用户无法在 map 上选择点,并且该 Activity 在关闭时也无法将点返回到我的应用程序。

我正在使用startActiviyForResult,因为我期望从Activity返回结果。

最佳答案

您可以只使用PlacePicker而不是实现自己的MapActivity。不过,您将需要在项目中添加Google Play服务库引用。

只需使用PlacePicker.IntentBuilder提供的意图启动startActivityForResult即可

int PLACE_PICKER_REQUEST = 1;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();

Context context = getApplicationContext();
startActivityForResult(builder.build(context), PLACE_PICKER_REQUEST);

然后在onActivityResult中接收结果
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == PLACE_PICKER_REQUEST) {
    if (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();
    }
  }
}

有关更多详细信息,请引用https://developers.google.com/places/android/placepicker

回答您的问题为时已晚,但希望这对有相同要求的人有所帮助。

10-04 20:06