在安卓版位智中显示地理点



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

这是意图:

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

而不是显示要点,它让我进入导航模式。奇怪的是,如果我使用谷歌地图,那么它可以正常工作。

这是Waze或我的代码的问题吗?

正如你在这里看到的,他们使它更简单:

以下是可用的参数:

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

而安卓 API 直接:

以下代码片段示例将启动 Waze 以查找 指定位置(如果安装了 Waze)。如果未安装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);
}
String uri = "geo:" + latitude + ","
                    +longitude + "?q=" + latitude
                    + "," + longitude;
startActivity(new Intent(android.content.Intent.ACTION_VIEW,
                    Uri.parse(uri)));

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

推荐:使用ShareActionProvider!它显示处理地理位置的所有可能应用程序的列表。

来源:此堆栈溢出答案

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

最新更新