Android 安卓系统意图

Android 安卓系统意图,android,android-intent,sygic,Android,Android Intent,Sygic,我按照, 我将坐标传递给Sygic 12.991030334592057作为纬度,77.8079116344519作为经度 另一个com.sygic。aura://coordinate|12.9138 | 77.6680 |车道 然而,Sygic说,“坐标在地图之外。” String str = "http://com.sygic.aura/coordinate|" + latitude + "|" + longitude + "|" + type.toS

我按照,

我将坐标传递给Sygic 12.991030334592057作为纬度,77.8079116344519作为经度

另一个com.sygic。aura://coordinate|12.9138 | 77.6680 |车道

然而,Sygic说,“坐标在地图之外。”

        String str = "http://com.sygic.aura/coordinate|" + latitude + "|"
            + longitude + "|" + type.toString();        
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(str)));
我也试过了

        String str = "com.sygic.aura://coordinate|" + latitude + "|"
            + longitude + "|" + type.toString();        
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(str)));
编辑: 类型为enum。type.toString将驱动器显示为字符串


我做错了什么?

您的代码没有问题。你确定那些经度和纬度的值是正确的吗?你用哪个应用程序得到这些坐标


我今天也在写同样的代码,似乎我在纬度处使用了经度,反之亦然。试着交换坐标。当我和你在同一条船上的时候,这对我很有用。如果不是这样,请通过从菜单>导航到…>GPS坐标。

也有同样的问题。正如enli所说,lat,lon params的顺序正好相反。这个代码对我有用:

String str = "com.sygic.aura://coordinate|" + lon + "|" + lat + "|" + type.toString();        
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(str)));
在我的手机中,此示例呼叫启动了sygic并启动了导航:

com.sygic.aura://coordinate|-3.588678|37.176278|drive

希望它能帮助你解决这个问题?因为我也面临这个问题。它是如何开始导航的?我的意思是,它是否为您的当前位置和自定义纬度经度创建路线?它启动sygic应用程序,并允许您选择路线的起点。默认情况下,它是“我的位置”。它启动sygic,但不从我的当前位置到给定纬度的路线。坐标顺序在我看来有点混乱