android - 谷歌地图方向 - 设置自定义路线
问题描述
我的代码逻辑有问题,到目前为止,我从教程和文档中看到的逻辑是找到最短路径。我想忽略最短路线,我想让车辆计算我想要的路线的距离。我希望公共汽车绕过蓝色标记,但它总是找到最短距离(参考这张图片)-> Map SearchBar
import React from 'react';
import MapView, {PROVIDER_GOOGLE, Marker} from 'react-native-maps';
import MapViewDirections from 'react-native-maps-directions';
import { PinchGestureHandler } from 'react-native-gesture-handler';
const GOOGLE_MAPS_APIKEY = 'API_KEY';
const RouteMap = ({ origin, destination }) => {
const originLoc = {
latitude: origin.details.geometry.location.lat,
longitude: origin.details.geometry.location.lng,
};
const destinationLoc = {
latitude: destination.details.geometry.location.lat,
longitude: destination.details.geometry.location.lng,
};
// latitude - longitude
const smClark = {
latitude: 15.166958649105302,
longitude: 120.58020821518215
};
const crkAirport = {
latitude: 15.188257381909379,
longitude: 120.54864679960974
};
const puregold = {
latitude: 15.193613083464797,
longitude: 120.5301874657224
};
const royceHotel = {
latitude: 15.180685277215424,
longitude: 120.52912493815806
};
const mGate_1 = {
latitude: 15.166953827506548,
longitude: 120.58283672474597
};
const mGate_2 = {
latitude: 15.167813741260368,
longitude: 120.5829972483142
};
return (
<MapView
style={{width: '100%', height: '100%'}}
provider={PROVIDER_GOOGLE}
// showsUserLocation={true}
initialRegion={{
latitude: 15.166958649105302,
longitude: 120.58020821518215,
latitudeDelta: 0.015,
longitudeDelta: 0.015,
}}
zoomControlEnabled
>
{/* Marker dynamic */}
<MapViewDirections
origin={originLoc}
destination={destinationLoc}
apikey={GOOGLE_MAPS_APIKEY}
strokeWidth={7}
strokeColor="black"
/>
{/* Loop 1 - Marker */}
<MapViewDirections
origin={smClark}
destination={crkAirport}
apikey={GOOGLE_MAPS_APIKEY}
strokeWidth={3}
strokeColor="blue"
/>
<MapViewDirections
origin={crkAirport}
destination={puregold}
apikey={GOOGLE_MAPS_APIKEY}
strokeWidth={3}
strokeColor="blue"
/>
<MapViewDirections
origin={puregold}
destination={royceHotel}
apikey={GOOGLE_MAPS_APIKEY}
strokeWidth={3}
strokeColor="blue"
/>
<MapViewDirections
origin={royceHotel}
destination={mGate_1}
apikey={GOOGLE_MAPS_APIKEY}
strokeWidth={3}
strokeColor="blue"
/>
<MapViewDirections
origin={mGate_1}
destination={mGate_2}
apikey={GOOGLE_MAPS_APIKEY}
strokeWidth={3}
strokeColor="blue"
/>
<MapViewDirections
origin={mGate_2}
destination={smClark}
apikey={GOOGLE_MAPS_APIKEY}
strokeWidth={3}
strokeColor="blue"
/>
</MapView>
);
};
export default RouteMap;
解决方案
推荐阅读
- python - 我想检查传入文件(导入的文件)是否是 python 中的 .csv 或 .xls 或 .xlxs
- c# - C# 从图表中删除“幽灵直线”
- azure - 如何使用 Azure DevOps 管道扩展/缩减 Azure 订阅中的所有资源?
- python - matplotlib 图的乳胶渲染文本中的中心标题
- google-apps-script - 每分钟自动更新/刷新谷歌表格单元格
- angular - Angular 7 - 内置产品中的编译错误 - 错误:错误:内部错误:未知标识符未定义
- angular - 错误:“@angular/platform-browser/platform-browser”没有导出的成员“文档”
- java - 多次显示相同的适配器 obj,但为什么呢?
- javascript - 空字符串检查评估错误
- c# - “无效的 URI:无法确定 URI 的格式。” 从 web api 调用 aspx 页面时