我希望按下按钮才能将用户重定向到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和其他一些类似的东西。
最后没有任何效果。所有这些解决方案均会打开GoogleMaps应用程序,并将屏幕精确指向我指定的坐标,但不会在地图上放置图钉,以便用户可以开始导航。
到目前为止,有人做过吗?
谢谢!
答案 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 版本,希望现在还为时不晚,否则我希望你已经弄明白了,哈哈