我正在使用JQuery Datatables,带有OSM磁贴的Leaflet和Leaflet Routing Machine为CRM构建嵌入式内容。地图上的标记和表的行基于SAME JSON数据,我正在构建两个库之间的交互(使用SHARED JavaScript函数)。例如,单击“数据表”行时,将突出显示该行,在相应的地图标记上打开一个弹出窗口,并使用LRM计算路径,该路径将路线放置在地图上。相反,当单击地图标记时,会发生所有相同的事件,因为我正在调用SAME函数。
默认情况下,行程LRM创建隐藏在地图上,但我想解析驱动时间和距离,并将它们插入共享功能打开的弹出窗口中。我花了四天的时间倾注API文档并在互联网上搜索有关如何从Itinerary对象访问这些值的明确说明或代码示例,但没有成功。我已经检查了每个对象,我可以弄清楚如何登录到控制台,但我需要的数据是在我尝试访问它们时出现“未定义”的属性。
请从头到尾,如何访问行程摘要?
当我启动地图时,我还使用空路点启动路由控制:
ctrl = L.Routing.control({
waypoints: null,
units: 'imperial',
show: false,
createMarker: function() { return null; }
}).addTo(map);
单击标记/行时,我调用此函数:
function clickEffects(id, latlon) {
// set waypoints for routing control
ctrl.setWaypoints([ ctr, latlon])
// scroll the table to the row for the clicked marker
table.$('tr.selected').removeClass('selected');
var idx = table.row("#" + id).index()
table.row(idx).show().draw(false);
table.row(idx).nodes().to$().addClass('selected');
// create and open a popup
var popup = L.popup()
.setLatLng(latlon)
.setContent("Dan was here!!!")
.openOn(map);
}
答案 0 :(得分:1)
想出来:
像魅力一样工作。现在只需要扩展ajax数据......