有没有办法在页面中嵌入/混搭OpenStreetMap(就像Google Maps API的工作方式一样)?
我需要在页面内部显示带有一些标记的地图,并允许拖动/缩放,可能是路由.我怀疑会有一些Javascript API,但我似乎无法找到它.
我正在OpenStreetMap地图上写一个快递/物流模拟,并且已经意识到如下图所示的基本A*算法对于大型地图(如大伦敦)来说不够快.

绿色节点对应于放置在开放集/优先级队列中的绿色节点,并且由于数量巨大(整个地图大约为1-2百万),需要5秒左右才能找到所示的路线.不幸的是,每条路线100毫秒是我的绝对限制.
目前,节点存储在邻接列表和空间100×100 2D阵列中.
我正在寻找可以在预处理时间,空间和路线最佳性能之间进行权衡的方法,以便更快地进行查询.根据剖析器,启发式成本的直线Haversine公式是最昂贵的函数 - 我尽可能地优化了我的基本A*.
例如,我在想是否从2D阵列的每个象限中选择一个任意节点X并在每个象限之间运行A*,我可以将路径存储到磁盘以供后续模拟.查询时,我只能在象限中运行A*搜索,以便在预先计算的路径和X之间进行搜索.
是否有我上面所描述的更精致的版本,或者我应该追求的另一种方法.非常感谢!
为了记录,这里有一些基准测试结果,用于任意加权启发式成本并计算10对随机选取的节点之间的路径:
Weight // AvgDist% // Time (ms)
1 1 1461.2
1.05 1 1327.2
1.1 1 900.7
1.2 1.019658848 196.4
1.3 1.027619169 53.6
1.4 1.044714394 33.6
1.5 1.063963413 25.5
1.6 1.071694171 24.1
1.7 1.084093229 24.3
1.8 1.092208509 22
1.9 1.109188175 22.5
2 1.122856792 18.2
2.2 1.131574742 16.9
2.4 1.139104895 15.4
2.6 1.140021962 16
2.8 1.14088128 15.5
3 1.156303676 16
4 1.20256964 13
5 1.19610861 12.9
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,将系数增加到1.1几乎将执行时间减半,同时保持相同的路线.
algorithm a-star shortest-path openstreetmap graph-algorithm
我在我正在进行的网站中使用了OpenStreetMap.我用PHP开发了网站.我的要求是根据地理位置(纬度和经度)获取地址.是否有任何OpenStreetMap API可用于获取基于Lat/Lon的位置信息?
谢谢,Vishal Parmar
我想知道是否有任何API我可以通过查询OSM数据,例如; 是(lon_1,lat_1)在陆地还是在海上?或者是否可以将岛屿定义为定义明确的多边形?到目前为止,我见过的唯一用法就是渲染OSM数据(生成切片)的工具.
有谁知道我在哪里可以找到Android的开放街道地图api?我搜索过网站,我能看到的是其他人的实现.
我正在寻找一个可以集成到另一个应用程序并完全定制的应用程序.
假设我有一个从一个城镇到另一个城镇的路线.从Google Maps API我可以恢复两者之间的路由.但是,从谷歌返回的路线是一条行车路线,其中包括仅在腿部有另一步的地方(例如,我必须从一条高速公路转向另一条高速公路的地方)的地理坐标.
我需要的是沿着整个路线的地理位置(纬度/经度),以特定的间隔(例如,每1/4英里或100米).
有没有办法通过Google Maps API /网络服务实现这一目标?
或者OpenStreetMap数据库是否可以这样做?
亲切的问候,玛德琳.
由于Google Maps API在以色列不可用(请参阅此处),我想使用OpenStreetMap.我对所有不同的地理编码方式感到困惑,即找到lat,地址为long.
我也在寻找最佳的路由方式,即使用OSM在两个位置之间显示路由.
我在客户端上寻找JavaScript,在我的服务器上寻找.NET.
我也在寻找一种可以与希伯来语中的名字一起使用的解决方案,但我不认为这是一个限制.
我正在使用LeafletJS将地图组件添加到我的应用程序中.除了地图的本地化,一切都很好,花花公子.一些国家名称以当地语言显示(我假设).
有没有办法用英文显示国家/地区名称?

这是我使用的当前代码
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution : '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
noWrap : true
}).addTo(map);
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个将使用Open Street Maps中的开源地图的应用程序(尽管该概念应该适用于任何地图提供者).该应用程序将使用户能够在出发前沿路线指定多个航路点.
因为我没有手机的数据计划(并且因为在乡下漫步很少给你一个良好的连接),我希望能够在出发前为路标和/或路线预加载相关的地图图块这样可以在没有数据连接的情况下继续使用地图.
我最初的想法是从地图提供程序下载所需的切片并将它们存储在独立的存储中.但是,使用TileSource该类的Bing Maps控件实现依赖于返回一个可以从中下载切片的绝对URI,这显然不适用于存储在独立存储中的数据.
问题已经被提出:Windows Phone 7 Map Control在离线模式下使用自定义图层,但没有得到解答,我想知道从那以后是否有人解决了这个问题.
我试图整合OpenStreetMap到一个反应原生的项目.但是我找不到任何库或任何与他们github帐户中的本地反应相关的东西(下面给出的链接).
https://github.com/openstreetmap
我能找到与这些主题相关的唯一内容是以下链接,其中没有正确的答案.
但是,一个人都表示,mapbox使用openstreet map他们的source.The mapbox建议将其集成到一个好办法react-native项目(如下链接).
https://github.com/mapbox/react-native-mapbox-gl
有没有一种方法可以集成openstreet map到一个react-native项目中,或者他们还没有为它创建适当的支持.
openstreetmap ×10
api ×3
android ×2
a-star ×1
algorithm ×1
geocode ×1
geolocation ×1
geospatial ×1
google-maps ×1
ios ×1
javascript ×1
leaflet ×1
map ×1
mapbox ×1
maps ×1
offline ×1
react-native ×1
routing ×1