我正在考虑将我的应用程序从传单切换到 OpenMapquest。
主要原因是我需要OpenMapquest的免费路由能力,
问题是传单有一个流星包,但 OpenMapQuest 没有。是否可以进行切换?只包含 OpenMapQuest 的 js 文件就足够了吗?或者是否有免费的替代方案来绘制 Leaflet 的路线?
谢谢
我正在考虑将我的应用程序从传单切换到 OpenMapquest。
主要原因是我需要OpenMapquest的免费路由能力,
问题是传单有一个流星包,但 OpenMapQuest 没有。是否可以进行切换?只包含 OpenMapQuest 的 js 文件就足够了吗?或者是否有免费的替代方案来绘制 Leaflet 的路线?
谢谢
编辑
下面的代码仅更改图块,不会影响路由。请参阅MapQuest 路线网络服务,了解如何使用 JavaScript 从他们的路线服务中获取路线数据。
根据这篇博文,您只需要更改序言。
Cloudmade 地图图层如下所示:
var map = new L.Map('map');
var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/API-KEY/997/256/{z}/{x}/{y}.png',
cloudmadeAttrib = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttrib});
将序言改为。
var map = new L.Map('map');
var mapquestUrl = 'http://{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png',
subDomains = ['otile1','otile2','otile3','otile4'],
mapquestAttrib = 'Data, imagery and map information provided by <a href="http://open.mapquest.co.uk" target="_blank">MapQuest</a>, <a href="http://www.openstreetmap.org/" target="_blank">OpenStreetMap</a> and contributors.',
mapquest = new L.TileLayer(mapquestUrl, {maxZoom: 18, attribution: mapquestAttrib, subdomains: subDomains});
免责声明:我在 MapQuest 工作。
我自己没有尝试过,但您可以向Open Directions API发出请求(从基于 Leaflet 的应用程序),为您的请求提供mapState,然后解析结果并在地图上显示 routeShape . 请记住,我自己没有尝试过,所以我不确定它是否会起作用,但它可能是您的选择。