【问题标题】:Display geopoint in Waze on Android在 Android 上的 Waze 中显示地理点
【发布时间】:2013-01-15 17:21:32
【问题描述】:

我正在尝试使用 Waze 在地图上显示一个点。

这是意图:

String link = geo:?ll=32.26944,34.890442&z=10;
new Intent(Intent.ACTION_VIEW, Uri.parse(link))

它没有显示点,而是让我进入导航模式。 奇怪的是,如果我改用谷歌地图,它就可以正常工作。

这是 Waze 的问题还是我的代码的问题?

【问题讨论】:

    标签: android android-intent geolocation waze


    【解决方案1】:

    如您所见here,他们让事情变得更简单了:

    以下是可用参数:

    search for address:         waze://?q=<address search term>
    center map to lat / lon:    waze://?ll=<lat>,<lon>
    set zoom (minimum is 6):    waze://?z=<zoom>
    

    示例:

    center map to Ayalon and set zoom to 10     waze://?ll=37.44469,-122.15971&z=10
    search for address:                         waze://?q=San%20Jose%20California
    

    直接和Android API:

    以下代码 sn-p 示例将启动 Waze 以查找 指定位置(如果安装了 Waze)。如果未安装 Waze 将在 Market 应用程序上打开 Waze 页面。

    try
    {
       String url = "waze://?q=Hawaii";
        Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( url ) );
       startActivity( intent );
    }
    catch ( ActivityNotFoundException ex  )
    {
      Intent intent =
        new Intent( Intent.ACTION_VIEW, Uri.parse( "market://details?id=com.waze" ) );
      startActivity(intent);
    }
    

    【讨论】:

    • 如果我不知道地名但只知道坐标怎么办。网址会是怎样的?
    【解决方案2】:
    String uri = "geo:" + latitude + ","
                        +longitude + "?q=" + latitude
                        + "," + longitude;
    startActivity(new Intent(android.content.Intent.ACTION_VIEW,
                        Uri.parse(uri)));
    

    此答案的优点是调用所有处理此功能的应用程序。在手机中,它会显示 Google 地图、Google 地球和 Waze。

    建议:使用ShareActionProvider!它显示所有可能处理地理定位的应用程序的列表。

    来源:This StackOverflow Answer

    【讨论】:

      【解决方案3】:

      尝试仅输入 32.26944 34.890442。不要在坐标之间使用逗号

      【讨论】:

        猜你喜欢
        • 2015-07-09
        • 2012-07-05
        • 2018-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多