Dr_*_*ang 16 android google-maps google-places-api
我想用位置字段保存用户表单信息.对于位置我想在用户点击地图上的位置和填写后的位置到表单时,在某个按钮点击和位置上打开谷歌地图.
我找到了地方选择器作为相关的解决方案,所以我使用了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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当前位置坐标不可见
.
单击SELECT THIS BUTTON后,打开下面的窗口,选择按钮被禁用
.
请告诉我,如果还有其他最佳解决方案.代码回复将非常有用或参考链接.
我遇到了同样的问题(请参阅原始帖子中的评论),结果是由于文件中的 API 密钥条目不匹配引起的AndroidManifest.xml
。
我正在使用 Xamarin.Android,但 Java 中的原理应该是相同的 - 但您的情况可能会有所不同。
基本上我的应用程序使用的是 Maps API,并且在我的清单中我将 API 密钥指定为com.google.android.maps.v2.API_KEY
- 并且一切正常。当我实现地点选择器时,我需要将键名称更改为com.google.android.geo.API_KEY
(我不必更改键本身!)。我已经为调试配置执行了此操作,但没有为发布配置执行此操作 - 发布配置仍然使用 Maps 键名称。因此,构建一个可发布的包会产生一个满足 Maps API 但不满足 Places 的清单。
更改发布配置解决了我的问题。
归档时间: |
|
查看次数: |
3614 次 |
最近记录: |