是否有一个vcl或项目(在delphi中)允许我下载OSM磁贴并在应用程序上显示它们?
我试过嵌入浏览器,它工作得很好,但我需要一种离线显示地图的方法。
发布于 2010-01-28 18:24:44
我不太了解OpenStreetMap项目,但该项目本身有一个软件可以“查看”页面中的地图。
您可以实现您的目标:使用与用户界面相同的基本结构脱机显示地图:嵌入式浏览器。
你改变的是浏览器将连接到的url,比如(http://localhost:3458),使你的应用程序成为她自己的web服务器,例如,将Indy TIdHTTPServer绑定到3458端口(只是一个示例端口)。
这样,您就可以从您的应用程序内部为嵌入式浏览器提供内容,就像 Delphi IDE (>= 2005)本身为您启动它时所看到的主页(实际上是嵌入式web浏览器)提供内容一样。
对于该浏览器,您提供查看器页面、它的所有依赖项和OSM文件。这个想法的唯一限制是查看器必须在客户端做所有的事情(例如,它可以是javascript、flash等)。没有服务器端脚本,除非您愿意“模仿”服务器端行为或将您的应用程序与脚本引擎集成(不太容易)。
另一个机会是使用THBImage,它提供了OpenStreetMap integration with Delphi和一个(不工作的)站点演示。
发布于 2010-01-29 00:39:07
在我看来,有3种方法可以做到这点:
OSM
致以最好的问候,Mo3ez
发布于 2010-02-03 23:06:14
糟了!我试图在我的消息中提供一些超链接,但作为一个新的StackOverflow用户,我只能提供一个。您可以在以下位置查看“显示地图需要解决方案”消息线程(2010年1月25日):embarcadero.public.delphi.thirdpartytools.general
我正在尝试解决类似的问题。我需要使用Delphi显示全县或全市的地图,然后在地图上放置自定义图标。我不需要路线或非常详细的地图。在过去,我使用了一个TMS的“热点”组件在TImage上的自定义图标。现在我需要一种方法,让客户端为静态背景图像选择自己的地图。
一个免费的MFC GUI控件类(带源代码),它实现了OpenStreeMap tiles的显示: www.naughter.com/osmctrl.html那里的压缩包有一个可执行文件,展示了它是如何工作的。
本单元用于计算OpenStreetMap项目的TileServer的URL,以及可能需要的其他有用的实用程序。如果你想在你的pascal程序中使用OpenStreetMap,那么这是为你准备的。http://code.google.com/p/openstreetmap-fpk/
我也在考虑使用免费的Tiger/Line地图。这些在免费的Linux程序(xastir)中看起来相当不错。
TatukGIS看起来非常好(也很贵)。我当然不需要一个完整的GIS解决方案,所以仅仅显示一张地图似乎有些夸张。但如果我找不到更简单的解决方案,这可能还是比集成MS MapPoint要好。
TGlobe似乎是我需要的,但遗憾的是它不再可用。
https://stackoverflow.com/questions/2152860
复制相似问题