首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >delphi+openstreetmap

delphi+openstreetmap
EN

Stack Overflow用户
提问于 2010-01-28 15:09:11
回答 5查看 12.6K关注 0票数 5

是否有一个vcl或项目(在delphi中)允许我下载OSM磁贴并在应用程序上显示它们?

我试过嵌入浏览器,它工作得很好,但我需要一种离线显示地图的方法。

EN

回答 5

Stack Overflow用户

发布于 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和一个(不工作的)站点演示。

票数 3
EN

Stack Overflow用户

发布于 2010-01-29 00:39:07

在我看来,有3种方法可以做到这点:

OSM

  • 将所有显示的瓦片保存为单个图像(可以使用TWebBrowser或TEmbeddedBrowser组件轻松完成):您将导航到基于给定坐标(左上角)的地图地址(OSM Mapping Server),然后拍摄快照。你需要在每次快照后重新计算基本坐标(左上角)。

  • 你需要理解tiles是如何生成的,这并不是很难:基本上,osm的生成方案如下http://osmserver.org/tiles/tile/x/y/z.png一旦你理解了它是如何工作的,你就可以通过代码计算tiles url并逐个下载它们。有关切片生成方案的更多信息,请查看此处:在多种论坛上的好帖子:http://forum.manifold.net/forum/t71011.13#75206 http://wiki.openstreetmap.org/wiki/Slippy_Map http://wiki.openstreetmap.org/wiki/Tiles%40home,或者如果您需要更进一步:http://wiki.openstreetmap.org/wiki/OSM_Protocol_Version_0.5

  • download整个OSM地图(在web上可用)并使用VCL组件来显示它们(Tatukgis DK...)

致以最好的问候,Mo3ez

票数 3
EN

Stack Overflow用户

发布于 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似乎是我需要的,但遗憾的是它不再可用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2152860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档