我想保存带有位置字段的用户表单信息。对于位置,我想在某个按钮点击时打开谷歌地图,并在用户在地图上单击位置并填写位置后将其提交到表单。
我找到了与此相关的解决方案Place Picker,因此我使用了Place Picker Google API,并成功地打开了谷歌地图,当我在首选位置上移动箭头并单击“选择此位置(出现黑色颜色,现在坐标显示在下面)”时。
确认框会打开2个选项:
1.) 更改位置
2.) 选择(禁用模式)
我想选择匿名位置并返回主活动。
以下是我的代码:
private TextView get_place;
int PLACE_PICKER_REQUEST = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
get_place = (TextView)findViewById(R.id.textView1);
get_place.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
Intent intent;
try {
intent = builder.build(getApplicationContext());
startActivityForResult(intent,PLACE_PICKER_REQUEST );
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
});
}
protected void onActivityResult( int requestCode , int resultCode , Intent data ){
if( requestCode == PLACE_PICKER_REQUEST)
{
if(resultCode == RESULT_OK)
{
Place place = PlacePicker.getPlace(data,this);
Double latitude = place.getLatLng().latitude;
Double longitude = place.getLatLng().longitude;
String address = String.valueOf(latitude)+String.valueOf(longitude);
get_place.setText(address);
}
}
}
当前位置坐标不可见
.
点击“选择此按钮”后,下方窗口中的选择按钮将被禁用
.
请告知是否有其他更好的解决方案。代码回复或参考链接将非常有帮助。