在 Android 上的 Waze 中显示地理点

Posted

技术标签:

【中文标题】在 Android 上的 Waze 中显示地理点【英文标题】:Display geopoint in Waze on Android 【发布时间】: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 的问题还是我的代码的问题?

【问题讨论】:

【参考方案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 *** Answer

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于在 Android 上的 Waze 中显示地理点的主要内容,如果未能解决你的问题,请参考以下文章

html5 Android 应用上的 Google 导航

用于打开 Waze 和 Google 地图的 Android 意图

使用 Intent.createChooser 使用 Waze 和 Google Maps 进行导航显示 Waze 图标两次

提高 GPS 精度 - Android 转弯地图

Google maps android:如何通过单击按钮将驾驶或步行路线添加到特定地理点?

在android中找到离地理点最近的警察局