我想确定卡车和皮卡车点之间的距离。我看到有用于卡车路线选择的REST API,也有用于距离矩阵的API。对两个API的请求的网址不同。从Microsoft的距离矩阵API文档中,我可以看到travelMode
参数,但只能将其设置为车辆,步行或过境。
是否可以使用卡车路线作为距离矩阵?
请求跟踪路线的网址模板:
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}
请求距离矩阵的网址模板:
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}
答案 0 :(得分:2)
根据Bing Maps documentation,仅支持以下旅行方式:
您可能想看一下Azure地图,它确实支持documented here作为基于卡车的距离矩阵。 Azure Maps支持为以下行驶模式计算距离矩阵:
以下是Azure Maps上的一些其他资源:
答案 1 :(得分:0)
我找到了一个BingMapsRestToolkit库,您可以在其中将TravelMode设置为卡车的距离矩阵,但它基本上只是添加了功能,实际上向卡车路由API发送了许多请求。对于免费用户,每秒的最大查询数仅为5,因此它并不是很有效,因为它很慢,如果您拥有Bing maps 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
设置为卡车