我正在尝试返回用户在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。
回答您的问题为时已晚,但希望这对有相同要求的人有所帮助。