我开始学习地方api。我设法创建了一个活动,当您单击该按钮时,会使用地图呈现地点api位置选择器。我的问题是我可以用硬编码的LatLangBounds做到这一点,我想要的是当我渲染地图时要从我当前的位置开始。我使用map api完成了这个,但是对于这个地方api我很困惑。
private static final int PLACE_PICKER_REQUEST = 1;
private TextView mName;
private TextView mAddress;
private TextView mAttributions;
private static final LatLngBounds BOUNDS_HARD_CODED_LOCATION = new LatLngBounds(
new LatLng(37.398160, -122.180831), new LatLng(37.430610, -121.972090));
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_place_picker);
/**
* not part of places api standard code to add back function to action bar
*/
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mName = (TextView) findViewById(R.id.textView);
mAddress = (TextView) findViewById(R.id.textView2);
mAttributions = (TextView) findViewById(R.id.textView3);
Button pickerButton = (Button) findViewById(R.id.pickerButton);
pickerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
PlacePicker.IntentBuilder intentBuilder =
new PlacePicker.IntentBuilder();
intentBuilder.setLatLngBounds(BOUNDS_HARD_CODED_LOCATION );
Intent intent = intentBuilder.build(PlacePickerActivity.this);
startActivityForResult(intent, PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException
| GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
});
}
答案 0 :(得分:0)
首先,您可以使用Location Services
获取当前位置。当您拥有该职位时,您可以使用地图API中的VisibleRegion
方法获取相机地图的onCameraChange()
。现在使用可见区域对象,您可以使用当前位置构建新的LatLngBounds
并调用Places API