Bing maps API: 有没有办法使用卡车路线作为距离矩阵?
Bing maps API: Is there a way to use truck routing for distance matrix?
我想获得一组卡车和取货点之间的距离。我看到卡车路线有 REST API,距离矩阵也有 API。 Url 对两个 API 的请求是不同的。从距离矩阵 API 的微软文档中,我可以看到 travelMode
参数,但它只能设置为车辆、步行或公交。
有没有办法将卡车路线用于距离矩阵?
请求url轨道路线模板:
https://dev.virtualearth.net/REST/v1/Routes/Truck?wayPoint.1={wayPpoint1}&viaWaypoint.2={viaWaypoint2}&waypoint.3={waypoint3}&wayPoint.n={waypointN}&heading={heading}&optimize={optimize}&avoid={avoid}&distanceBeforeFirstTurn={distanceBeforeFirstTurn}&routeAttributes={routeAttributes}&dateTime={dateTime}&tolerances={tolerances}&distanceUnit={distanceUnit}&vehicleHeight={vehicleHeight}&vehicleWidth={vehicleWidth}&vehicleLength={vehicleLength}&vehicleWeight={vehicleWeight}&vehicleAxles={vehicleAxles}&vehicleTrailers={vehicleTrailers}&vehicleSemi={vehicleSemi}&vehicleMaxGradient={vehicleMaxGradient}&vehicleMinTurnRadius={vehicleMinTurnRadius}&vehicleAvoidCrossWind={vehicleAvoidCrossWind}&vehicleAvoidGroundingRisk={vehicleAvoidGroundingRisk}&vehicleHazardousMaterials={vehicleHazardousMaterials}&vehicleHazardousPermits={vehicleHazardousPermits}&key={BingMapsKey}
请求 url 距离矩阵模板:
https://dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins={lat0,long0;lat1,lon1;latM,lonM}&destinations={lat0,lon0;lat1,lon1;latN,longN}&travelMode={travelMode}&startTime={startTime}&timeUnit={timeUnit}&key={BingMapsAPIKey}
根据Bing Maps documentation,仅支持以下出行方式:
- 驾驶(汽车)
- 步行
- public中转
您可能想看看 Azure Maps,它确实支持基于卡车的距离矩阵 documented here。 Azure Maps 支持计算以下出行模式的距离矩阵:
- 自行车
- 公交车
- 汽车
- 摩托车
- 行人
- 出租车
- 卡车
- 面包车
这是 Azure Maps 上的一些额外资源:
- 概览:https://azure.com/maps
- 文档:https://aka.ms/AzureMapsDocs
- 入门:https://aka.ms/AzureMapsGettingStarted
- 代码示例:https://aka.ms/AzureMapsSamples
- 视频:https://aka.ms/AzureMapsVideos
- 博客:https://aka.ms/AzureMapsBlog
- 开发者论坛:https://aka.ms/AzureMapsForums
- 案例研究:https://aka.ms/AzureMapsCaseStudies
- 定价:https://aka.ms/AzureMapsPricing
- Azure Maps 反馈(UserVoice):https://aka.ms/AzureMapsFeedback
我找到了一个库 BingMapsRestToolkit,您可以在其中将距离矩阵中的 TravelMode 设置为卡车,但它基本上只是添加的功能,实际上会向卡车路线 API 发送许多请求。对于免费用户,每秒最大查询数仅为 5,所以它并不是很有用,因为它很慢,也许如果你有 Bing 地图 API 的企业许可证,那么它可以帮助一些人。
示例:
var request = new DistanceMatrixRequest()
{
BingMapsKey = bingApiKey,
Origins = new List<SimpleWaypoint>
{
new SimpleWaypoint(new Coordinate(vehiclePosition.Latitude, vehiclePosition.Longitude))
},
Destinations = destinationWaypoints,
TravelMode = TravelModeType.Driving,
VehicleSpec = new VehicleSpec
{
VehicleLength = 16.5,
VehicleWeight = 20000
}
};
var response = request.Execute().Result; // Or await request.Execute()
Origins
和 Destinations
是 List<SimpleWaypoint>
TravelMode
设为卡车
我想获得一组卡车和取货点之间的距离。我看到卡车路线有 REST API,距离矩阵也有 API。 Url 对两个 API 的请求是不同的。从距离矩阵 API 的微软文档中,我可以看到 travelMode
参数,但它只能设置为车辆、步行或公交。
有没有办法将卡车路线用于距离矩阵?
请求url轨道路线模板:
https://dev.virtualearth.net/REST/v1/Routes/Truck?wayPoint.1={wayPpoint1}&viaWaypoint.2={viaWaypoint2}&waypoint.3={waypoint3}&wayPoint.n={waypointN}&heading={heading}&optimize={optimize}&avoid={avoid}&distanceBeforeFirstTurn={distanceBeforeFirstTurn}&routeAttributes={routeAttributes}&dateTime={dateTime}&tolerances={tolerances}&distanceUnit={distanceUnit}&vehicleHeight={vehicleHeight}&vehicleWidth={vehicleWidth}&vehicleLength={vehicleLength}&vehicleWeight={vehicleWeight}&vehicleAxles={vehicleAxles}&vehicleTrailers={vehicleTrailers}&vehicleSemi={vehicleSemi}&vehicleMaxGradient={vehicleMaxGradient}&vehicleMinTurnRadius={vehicleMinTurnRadius}&vehicleAvoidCrossWind={vehicleAvoidCrossWind}&vehicleAvoidGroundingRisk={vehicleAvoidGroundingRisk}&vehicleHazardousMaterials={vehicleHazardousMaterials}&vehicleHazardousPermits={vehicleHazardousPermits}&key={BingMapsKey}
请求 url 距离矩阵模板:
https://dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins={lat0,long0;lat1,lon1;latM,lonM}&destinations={lat0,lon0;lat1,lon1;latN,longN}&travelMode={travelMode}&startTime={startTime}&timeUnit={timeUnit}&key={BingMapsAPIKey}
根据Bing Maps documentation,仅支持以下出行方式:
- 驾驶(汽车)
- 步行
- public中转
您可能想看看 Azure Maps,它确实支持基于卡车的距离矩阵 documented here。 Azure Maps 支持计算以下出行模式的距离矩阵:
- 自行车
- 公交车
- 汽车
- 摩托车
- 行人
- 出租车
- 卡车
- 面包车
这是 Azure Maps 上的一些额外资源:
- 概览:https://azure.com/maps
- 文档:https://aka.ms/AzureMapsDocs
- 入门:https://aka.ms/AzureMapsGettingStarted
- 代码示例:https://aka.ms/AzureMapsSamples
- 视频:https://aka.ms/AzureMapsVideos
- 博客:https://aka.ms/AzureMapsBlog
- 开发者论坛:https://aka.ms/AzureMapsForums
- 案例研究:https://aka.ms/AzureMapsCaseStudies
- 定价:https://aka.ms/AzureMapsPricing
- Azure Maps 反馈(UserVoice):https://aka.ms/AzureMapsFeedback
我找到了一个库 BingMapsRestToolkit,您可以在其中将距离矩阵中的 TravelMode 设置为卡车,但它基本上只是添加的功能,实际上会向卡车路线 API 发送许多请求。对于免费用户,每秒最大查询数仅为 5,所以它并不是很有用,因为它很慢,也许如果你有 Bing 地图 API 的企业许可证,那么它可以帮助一些人。
示例:
var request = new DistanceMatrixRequest()
{
BingMapsKey = bingApiKey,
Origins = new List<SimpleWaypoint>
{
new SimpleWaypoint(new Coordinate(vehiclePosition.Latitude, vehiclePosition.Longitude))
},
Destinations = destinationWaypoints,
TravelMode = TravelModeType.Driving,
VehicleSpec = new VehicleSpec
{
VehicleLength = 16.5,
VehicleWeight = 20000
}
};
var response = request.Execute().Result; // Or await request.Execute()
Origins
和 Destinations
是 List<SimpleWaypoint>
TravelMode
设为卡车