我正在使用Mapbox和Leaflet。 我有一个创建视图,在那里我创建了步行路线。 但我还需要详细视图,我可以在其中显示已创建的路线。
现在我只将originMarker和destinationMarker坐标保存到数据库中;
这样我尝试显示路由:
<script>
var start = JSON.parse($('#start_field').val());
var finish = JSON.parse($('#finish_field').val());
L.mapbox.accessToken = 'qwerty';
var map = L.mapbox.map('map', 'mapbox.streets', {
zoomControl: false
}).setView([42.8580536, 74.6224754], 12);
L.Routing.control({
waypoints: [
L.latLng(start.lat, start.lng),
L.latLng(finish.lat, finish.lng)
]
}).addTo(map);
var start_marker = L.marker([start.lat, start.lng], {
draggable: false
}).addTo(map);
var finish_marker = L.marker([finish.lat, finish.lng], {
draggable: false
}).addTo(map);
</script>
但浏览器给我一个错误:
未捕获的TypeError:无法读取未定义的属性“control”
答案 0 :(得分:1)
如果没有完整的代码,它很难回答,但我的第一个猜测是你没有按照正确的顺序加载路由插件的资产(首先是Leaflet脚本然后路由插件,反过来不起作用):
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
<link rel="stylesheet" href="leaflet-routing-machine.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<script src="leaflet-routing-machine.js"></script>