我想在android中选择默认位置。下面的代码没有做到这一点,我希望当用户打开placepicker进行选择时,标记位于某个位置。
int PLACE_PICKER_REQUEST = 1;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
final EditText longitude1 = (EditText) findViewById(R.id.longitude);
final EditText latitude1 = (EditText) findViewById(R.id.latitude);
Double lng = Double.parseDouble("0");
Double lnt = Double.parseDouble("0");
longitude1.setText("24.7136");
latitude1.setText("46.6753");
if(!longitude1.getText().toString().equals("")){
lng = Double.parseDouble(longitude1.getText().toString());
}
if(latitude1.getText().toString().equals("")){
lnt = Double.parseDouble(latitude1.getText().toString());
}
LatLng bottomLeft = new LatLng(lnt ,lng);
LatLng topRight = new LatLng(lnt ,lng);
LatLngBounds bounds = new LatLngBounds(bottomLeft ,topRight);
builder.setLatLngBounds(bounds);
startActivityForResult(builder.build((Activity)UpdatePropertyActivity.this), PLACE_PICKER_REQUEST);
答案 0 :(得分:0)
如您在此处看到的,您可以给定区域的边界(即builder.setLatLngBounds)。 因此,您可以做一件事,在西南和东北提供所需的位置LatLng,例如:-
假设我想要的位置=“ 12.980546,77.646268”
LatLngBounds MyDesiredLocation = new LatLngBounds(
new LatLng(12.980546, 77.646268), new LatLng(12.980546, 77.646268));
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
builder.setLatLngBounds(MyDesiredLocation);
try {
// for activty
startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);
// for fragment
//startActivityForResult(builder.build(getActivity()), PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
因此,这会将边界缩小到您想要的位置...希望对您有所帮助,请尝试!