从ReactNative应用启动Google Maps应用

时间:2018-11-25 19:50:30

标签: google-maps react-native

我希望按下按钮才能将用户重定向到google maps应用程序,并在google map app中的特定坐标上放置PIN。因此,用户只需要按Start Routing /导航到放置的图钉即可。

我尝试了几种解决方案,例如: 建造: 1)Linking.openURL(https://www.google.com/maps/search/?api=1&query=lat,long) 2)使用react-native-map-link和其他一些类似的东西。

最后没有任何效果。所有这些解决方案均会打开Goog​​leMaps应用程序,并将屏幕精确指向我指定的坐标,但不会在地图上放置图钉,以便用户可以开始导航。

到目前为止,有人做过吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

某些人已经指定,您需要使用Google提供的URL方案的路线格式:

https://www.google.com/maps/dir/?api=1&destination=lat,long&dir_action=navigate

如果没有origin参数,则Google Maps将默认为用户当前位置,您还需要添加dir_action来强制导航。

我已经抽象了很多此功能,以支持名为react-native-open-maps的小库中Apple地图和Google地图之间的最低公分母,希望可能会有所帮助。

答案 1 :(得分:0)

<TouchableOpacity
    onPress={() => {
        let lat = filteredPlaces.coordinates.latitude;
        let lon = filteredPlaces.coordinates.longitude;
        if (this.state.platform === "android" || "web") {
            Linking.openURL(
                `https://www.google.com/maps/dir/?api=1&origin=` +
                this.state.myLat +
                `,` +
                this.state.myLon +
                `&destination=` +
                lat +
                `,` +
                lon +
                `&travelmode=driving`
            );
            } else {
                console.log("Something Went Wrong?")
            }
        }}
> `enter code here`BLAH BLAH BLAH <TouchableOpacity />

这对我有用,但是,我现在仍在开发 iOS 版本,希望现在还为时不晚,否则我希望你已经弄明白了,哈哈