使用Mapbox API的Mapbox路由

使用Mapbox API的Mapbox路由,mapbox,Mapbox,我不太擅长编码,目前正在使用mapbox API创建带有点的地图。但是,在使用“地理定位”的用户位置和我的地图上的点之间,我找不到任何基本路由选项。在API中有什么方法可以做到这一点吗?我想为用户创建一个选项,让他们找到我目前在地图上的位置以及这些位置之间的位置。非常感谢你的帮助 问候 Al在生产就绪的Mapbox api中没有可用的路由。他们正在进行预览,请参见此处: mapbox的一名团队成员确实提出了一个替代方案。请参见此处:我使用Mapbox.directions插件来执行此操作。我使用

我不太擅长编码,目前正在使用mapbox API创建带有点的地图。但是,在使用“地理定位”的用户位置和我的地图上的点之间,我找不到任何基本路由选项。在API中有什么方法可以做到这一点吗?我想为用户创建一个选项,让他们找到我目前在地图上的位置以及这些位置之间的位置。非常感谢你的帮助

问候


Al

在生产就绪的Mapbox api中没有可用的路由。他们正在进行预览,请参见此处:


mapbox的一名团队成员确实提出了一个替代方案。请参见此处:

我使用Mapbox.directions插件来执行此操作。我使用map contextmenu事件在某个位置获得右键单击事件(我的标记具有clickable:false,因此地图获得鼠标单击)。我使用MouseEvent数据获取latlng,并将其设置为路线的起点或终点。我允许插件查询路线,并使用控件在地图上显示路线、说明和高亮显示的路径。以下是一些片段:

$('lblStatus').html(“计算路线…”);
//****在当前的Mapbox版本中,单元尚未工作
修改方向=L.mapbox.directions({
配置文件:“mapbox.driving”,
单位:“公制”
});
修改方向。on('load',功能(方向){
//遍历所有路线坐标并确定路线的边界。
var minLat=90,minLng=180,maxLat=-90,maxLng=-180;
var lat,液化天然气;
directions.routes[0]。geometry.coordinates.forEach(函数(laCoordinate,index){
lat=不协调[1];
lng=laCoordinate[0];
如果(纬度<纬度){
minLat=lat;
}
如果(液化天然气<最小液化天然气){
minLng=液化天然气;
}
如果(纬度>最大纬度){
maxLat=lat;
}
如果(液化天然气>最大液化天然气){
最大液化天然气=液化天然气;
}
});
var loBounds=L.latLngBounds(L.latLng(minLat,minLng),L.latLng(maxLat,maxLng));
moMap.fitBounds(loBounds);
$('#lblStatus').html(“”);
});
setOrigin(loStart);
修改.setDestination(loEnd);
moDirections.query();
moDirectionsLayer=L.mapbox.directions.layer(moDirections).addTo(moMap);
ModiDirectionErrorsControl=L.mapbox.directions.errorsControl('pnlRouteErrors',ModiDirections);
ModifymentsRouteControl=L.mapbox.directions.RouteControl('pnlAlternateRoutes',Modifyments);
ModiDirectionsInstructionsControl=L.mapbox.directions.instructionsControl('PNLRoutInstructions',ModiDirections);
上述pnl*元素是注入控件的div

目前基本上没有关于方向插件的文档。您可以在此处获得开放源代码:


这里是唯一的例子:但我发现输入控件工作不好,不符合我的设计。

欢迎使用堆栈溢出!你能告诉我你在用哪种语言吗?