放置选择器选择默认位置

时间:2018-01-11 06:34:03

标签: android location

我想在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);

1 个答案:

答案 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();
        }

因此,这会将边界缩小到您想要的位置...希望对您有所帮助,请尝试!