获取从我的应用程序到优步的坐标(ios,swift4)

时间:2018-03-09 02:26:16

标签: ios swift coordinates uber-api

我只是想知道我是否能像Android一样专注于优步应用程序。

对于Android我的确如下:

requestButton.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {

        Intent i;
        PackageManager manager = getPackageManager();
        try {
            i = manager.getLaunchIntentForPackage("com.ubercab");
            if (i == null)
                throw new PackageManager.NameNotFoundException();
            i = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:"+ job.getCompany().getLat()+
                    ","+ job.getCompany().getLon()+
                    "?q="+ job.getCompany().getLat()+","+ job.getCompany().getLon()+
                    "("+ job.getCompany().getName()+")"));
            i.setPackage("com.ubercab");
            startActivity(i);
        } catch (PackageManager.NameNotFoundException e) {

            coordinatorLayout = (CoordinatorLayout) findViewById(R.id.cord);

            Snackbar snackbar = Snackbar
                    .make(coordinatorLayout, "Please install Uber App", Snackbar.LENGTH_LONG)
                    .setAction("Install", new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            Intent intent = new Intent(Intent.ACTION_VIEW);
                            intent.setData(Uri.parse("market://details?id=com.ubercab"));
                             startActivity(intent);
                        }
                    });

            snackbar.show();
        }

对于Swift 4,我确实喜欢这个。

if (UIApplication.shared.canOpenURL(URL(string:"uber://")!)) {
    alert.addAction(UIAlertAction(title: "Uber Ride", style: .default, handler: { (alert) in
        UIApplication.shared.open(URL(string: "uber://?ll=\(location.coordinate.latitude),\(location.coordinate.longitude)&navigate=no")!, options:[:], completionHandler: nil)
    }))
}

是的,它确实从我的应用程序转到优步应用程序,但它并不意味着坐标也像Android一样。我的问题是,是否可以像Android一样使用坐标来意图使用其他应用程序?

1 个答案:

答案 0 :(得分:0)

您可以用Uber iOS app has a URL scheme来实现您的要求。它们还提供Uber Rides iOS SDK,允许您通过提供坐标等轻松生成深层链接。