我正在为iOS开发一个flutter应用程序,该应用程序有一个按钮,应该将用户带到谷歌地图地址的点击。我尝试了以下代码:
void _launchMapsUrl(map_url) async {
final url = map_url;
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}
但是,这会用"OPEN"打开浏览器。按钮,点击后进入谷歌地图。我想有一个解决方案,可以直接带我到谷歌地图。
这是一个很棒的包,可以帮助您选择现有的导航应用程序地图启动器
易于实现
final availableMaps = await MapLauncher.installedMaps;
这里的第二个选项:你不必写我添加给你的地址。这里是package intent
final AndroidIntent intent = new AndroidIntent(
action: 'action_view',
data: Uri.encodeFull(
"https://www.google.com/maps/dir/?api=1&origin=" +
address1 +
"&destination=" +
address2 +
"&travelmode=driving&dir_action=navigate"),
package: 'com.google.android.apps.maps');
intent.launch();
首先检查手机是否有谷歌地图
isInstalled =等待DeviceApps.isAppInstalled("com.google.android.apps.maps";
如果不
var urlAppleMaps = "http://maps.apple.com";
await launch(urlAppleMaps);