【发布时间】:2016-08-23 05:10:02
【问题描述】:
我想用位置字段保存用户表单信息。对于位置,我想在单击某个按钮时打开谷歌地图,并在用户单击地图上的位置并将位置填写到表单中时选择位置。
我发现地点选择器是相关的解决方案,所以 我已经使用 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);
}
}
}
当前位置坐标不可见
.
点击选择这个按钮后,下面的窗口打开,选择按钮被禁用
.
如果有其他最佳解决方案,请告诉我。 代码回复将很有帮助或参考链接。
【问题讨论】:
-
我有一个用户现在也遇到了同样的问题,所以也很想找到解决方案。安装了哪个版本的 Google Play 服务?
-
在从手机中删除开发(调试)版本并从 Play 商店安装后,我刚刚复制了这个。可能是 API 密钥问题?
-
我从documentation 中检查时没有看到您的代码有任何错误。如related SO question 所述,Use this location? 弹出对话框的 SELECT 按钮始终处于启用状态。确保您的互联网连接没有问题。
-
@abielita - 就我而言,互联网连接不是问题。如果我使用调试密钥部署到我的设备,一切都会按预期工作。如果我使用发布密钥进行部署,那么我会得到上述行为,但地图在应用程序的其他部分显示得很好。
-
我正在使用以下软件包 - 1.) com.android.support:appcompat-v7:24.2.0 2.) com.google .android.gms:play-services:8.3.0 3.) com.google.maps.android:android-maps-utils:0.3.4
标签: android google-maps google-places-api