获取路线 API 电话?反应本机
Get Directions API call ? react-native
在许多 iOS 应用程序中,我可以看到一个按钮,上面写着 getDirections,单击它会打开一个 Apple/Google 地图,其中经纬度作为目的地传递。
我的 TouchableHighlight
按钮已准备好经纬度和纬度。我需要在 onPress
回调中调用什么 API 端点才能以我的坐标作为路线目的地打开 Apple 地图?
您可以使用 Geolocation API:
// Get position once
navigator.geolocation.getCurrentPosition(
(initialPosition) => this.setState({initialPosition}), // success callback
(error) => alert(error.message), // failure callback
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000} // options
);
// Repeatedly track position
this.watchID = navigator.geolocation.watchPosition((lastPosition) => {
this.setState({lastPosition});
});
然后您可以使用该位置并根据需要显示它,也许是 MapView。
要link到另一个应用程序,例如地图,请使用LinkingIOS:
https://facebook.github.io/react-native/docs/linkingios.html
// Replace lat and long with your own decimal latitude and longitude values
var url = 'http://maps.apple.com/?ll=<lat>,<long>';
LinkingIOS.openURL(url);
对于地图,URL 方案与标准 Obj-C 应用程序相同:
要link到另一个应用程序,并打开行程作为地图,使用此功能:
export function openDirections(latitude, longitude) {
Platform.select({
ios: () => {
Linking.openURL('http://maps.apple.com/maps?daddr=' + latitude + ',' + longitude);
},
android: () => {
Linking.openURL('http://maps.google.com/maps?daddr=' + latitude + ',' + longitude);
}
})();
}
在许多 iOS 应用程序中,我可以看到一个按钮,上面写着 getDirections,单击它会打开一个 Apple/Google 地图,其中经纬度作为目的地传递。
我的 TouchableHighlight
按钮已准备好经纬度和纬度。我需要在 onPress
回调中调用什么 API 端点才能以我的坐标作为路线目的地打开 Apple 地图?
您可以使用 Geolocation API:
// Get position once
navigator.geolocation.getCurrentPosition(
(initialPosition) => this.setState({initialPosition}), // success callback
(error) => alert(error.message), // failure callback
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000} // options
);
// Repeatedly track position
this.watchID = navigator.geolocation.watchPosition((lastPosition) => {
this.setState({lastPosition});
});
然后您可以使用该位置并根据需要显示它,也许是 MapView。
要link到另一个应用程序,例如地图,请使用LinkingIOS:
https://facebook.github.io/react-native/docs/linkingios.html
// Replace lat and long with your own decimal latitude and longitude values
var url = 'http://maps.apple.com/?ll=<lat>,<long>';
LinkingIOS.openURL(url);
对于地图,URL 方案与标准 Obj-C 应用程序相同:
要link到另一个应用程序,并打开行程作为地图,使用此功能:
export function openDirections(latitude, longitude) {
Platform.select({
ios: () => {
Linking.openURL('http://maps.apple.com/maps?daddr=' + latitude + ',' + longitude);
},
android: () => {
Linking.openURL('http://maps.google.com/maps?daddr=' + latitude + ',' + longitude);
}
})();
}