我正在尝试使用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。不要在坐标之间使用逗号