使用React Native Google Maps Directions软件包自动启动导航

Ase*_*yay 6 google-maps react-native

我要求在加载谷歌地图应用程序时,必须自动启动导航.

当前场景 - 它显示路线,但用户必须单击start以开始导航我找不到任何相关的标志?

找到这篇文章,显示谷歌地图中使用的标志

官方谷歌地图文档显示使用它,dir_action=navigate但我对如何将其转换为react-native-google-maps-directions包无能为力

知道我们怎么能解决这个问题?

xom*_*ena 14

反应天然-MAPS-方向使用方向API来显示路线.请注意,Directions API不包含任何实时导航,仅用于显示路线.Google Maps API中还禁止实时导航.

请查看Google Maps API服务条款第10.4(c,iii)段.它读

没有导航.您不得将服务或内容用于或与(a)实时导航或路线指导相关; 或(b)自动或自动车辆控制.

来源:https://developers.google.com/maps/terms#10-license-restrictions

为了符合Google Maps API服务条款,您应该在导航模式下使用Google地图网址打开设备中安装的Google地图应用.

var url = "https://www.google.com/maps/dir/?api=1&travelmode=driving&dir_action=navigate&destination=Los+Angeles";
Linking.canOpenURL(url).then(supported => {
    if (!supported) {
        console.log('Can\'t handle url: ' + url);
    } else {
        return Linking.openURL(url);
    }
}).catch(err => console.error('An error occurred', err)); 
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!


Vij*_*han 6

100%工作

如果您想自动开始从当前位置导航到特定位置https://developers.google.com/maps/documentation/urls/android-intents#launch_turn-by-turn_navigation

示例代码

static googleMapOpenUrl = ({ latitude, longitude }) => {
    const latLng = `${latitude},${longitude}`;
    return `google.navigation:q=${latLng}`;
  }
Run Code Online (Sandbox Code Playgroud)

要打开谷歌地图,点击 React-Native 会这样做

Linking.openURL(googleMapOpenUrl({ latitude: 23.235899, longitude: 78.323258 }));
Run Code Online (Sandbox Code Playgroud)