在标签片段android中添加Google Place Picker,可以通过以下步骤完成:
implementation 'com.google.android.gms:play-services-places:17.0.0'
<Button
android:id="@+id/placePickerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Place" />
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
import com.google.android.gms.location.places.Place;
import com.google.android.gms.location.places.ui.PlacePicker;
public class YourFragment extends Fragment implements ConnectionCallbacks, OnConnectionFailedListener {
private static final int PLACE_PICKER_REQUEST = 1;
private GoogleApiClient googleApiClient;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 初始化GoogleApiClient
googleApiClient = new GoogleApiClient.Builder(getActivity())
.addApi(PlacePicker.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
@Override
public void onStart() {
super.onStart();
googleApiClient.connect();
}
@Override
public void onStop() {
super.onStop();
googleApiClient.disconnect();
}
@Override
public void onConnected(@Nullable Bundle bundle) {
// GoogleApiClient连接成功后,可以启动Place Picker
placePickerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
startActivityForResult(builder.build(getActivity()), PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == Activity.RESULT_OK) {
// 用户已经选择了一个地点
Place place = PlacePicker.getPlace(getActivity(), data);
String placeName = place.getName().toString();
String placeAddress = place.getAddress().toString();
// 在这里处理选择的地点数据
}
}
}
@Override
public void onConnectionSuspended(int i) {
// 连接暂停时的处理
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
// 连接失败时的处理
}
}
以上代码中,我们首先在onCreate()方法中初始化了GoogleApiClient,并在onStart()和onStop()方法中连接和断开连接。在onConnected()方法中,我们为Place Picker按钮设置了点击事件,并在点击时启动Place Picker。在onActivityResult()方法中,我们可以获取用户选择的地点数据,并进行相应的处理。
请注意,以上代码仅为示例,你需要根据你的实际需求进行适当的修改和调整。
推荐的腾讯云相关产品:腾讯位置服务(https://cloud.tencent.com/product/lbs)
腾讯云位置服务(Tencent Location Service)是腾讯云提供的一项基于LBS(Location-Based Service)的云服务,提供了丰富的地理位置相关功能和服务,包括地点搜索、地点详情、地点推荐等。它可以帮助开发者在自己的应用中集成地理位置功能,提供更好的用户体验。
希望以上信息能对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云