我目前正在制作一个应用程序,其中包含一个功能,用户可以通过单击按钮将优步带回家。我了解到深层链接可以解决问题。但是,我不太确定如何获得用户家的纬度和经度。我将不胜感激您对此事的帮助。祝你今天过得愉快。显示的是获取用于深层链接的 uri 的方法。
private String getUberUri() {
StringBuilder uberUri = new StringBuilder("uber://?action=setPickup&client_id=LNC3kco5fh8RGBhJF9hJtqRKPSPCxMt-");
uberUri.append("&pickup=my_location");
uberUri.append("&dropoff[nickname]=").append(placeBundle.getString("NAME", "Dropoff"));
uberUri.append("&dropoff[latitude]=").append(placeBundle.getDouble("PLACE_LAT"));
uberUri.append("&dropoff[longitude]=").append(placeBundle.getDouble("PLACE_LNG"));
return uberUri.toString();
}
这是按钮的 onClickListener:
Button uberButton = (Button) findViewById(R.id.uberButton);
uberButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
if (isPackageInstalled("com.ubercab")) {
Intent uberIntent = new Intent();
uberIntent.setData(Uri.parse(getUberUri()));
mActivity.startActivity(uberIntent);
} else {
Toast.makeText(mActivity, "Please install Uber", Toast.LENGTH_SHORT).show();
Uri uberPlayStoreUri = Uri.parse(
"https://play.google.com/store/apps/details?id=com.ubercab");
Intent uberIntent = new Intent(Intent.ACTION_VIEW, uberPlayStoreUri);
uberIntent.setPackage("com.android.vending");
mActivity.startActivity(uberIntent);
}
}
}
);
有两个 Uber API 端点可用于设置工作和家庭位置并获取它们。
如果你想设置你的家庭或工作地址,你需要使用:“PUT /v1.2/places/{place_id}”端点。其中“place_id”可以是家庭和工作。
要获取您需要使用的预定义位置:“GET /v1.2/places/{place_id}”
示例请求:
curl -H '授权:承载' \ -H '接受语言:en_US' \ -H '内容类型:应用程序/json' \ ' https://api.uber.com/v1.2/places/work '
回复:
{ "address": "685 Market St, San Francisco, CA 94103, USA" }
唯一的限制是您需要解析地址以获取“end_latitude”和“end_longitude”。
当您发出乘车请求时,还可以选择使用以下参数:
“start_place_id”:“家”,“end_place_id”:“工作”
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句