我目前正在开发一款应用程序,其中包含一项功能,让用户只需点击一下按钮就可以带回家。我了解到深层链接可以解决问题。但是,我不太确定如何获得用户家的经纬度。非常感谢您对此事的帮助。祝你今天愉快。 显示的是获取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();
}
这是Button的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);
}
}
}
);
答案 0 :(得分:1)
有两个Uber API端点可用于设置工作和家庭位置并获取它们。
如果您想设置家庭或工作地址,您需要使用:" PUT /v1.2/places/{place_id}"端点。在哪里" place_id"可以回家和工作。
要获取您需要使用的预定义位置:" GET /v1.2/places/{place_id}"
示例请求:
卷曲-H'授权:持票人' \ -H'接受语言:en_US' \ -H'内容类型:application / json' \ ' https://api.uber.com/v1.2/places/work'响应:
{ "地址":" 685 Market St,San Francisco,CA 94103,USA" }
唯一的限制是你需要解析地址以获得" end_latitude"和" end_longitude"。
当您执行乘车请求时,还可以选择使用以下参数:
" start_place_id":" home", " end_place_id":"工作"