Delphi 的经纬度选择组件?

3

我正在寻找一个Delphi组件,使用户可以选择和修改纬度/经度坐标,最好以用户友好的方式进行(即不通过输入两个数字)。

理想情况下,该组件应该按照以下方式工作:

  • 它具有可由用户编辑的纬度经度字段。
  • 在给定坐标的情况下,它会显示带有标记的地图或卫星图片。
  • 它可以接受地址(街道、号码、邮编和国家)并猜测坐标。
  • 如果一个用户可以拖动标记来调整坐标的话将很好。

是否有人知道这样的组件是否存在?首选开源解决方案。 如果没有,有人可以让我开始构建这样的组件吗?


如果您需要离线工作的东西,您也可以考虑使用MS MapPoint 2011及其ActiveX控件。显然不是免费的,您必须在计算机上购买和安装MapPoint,但它可以成为Delphi中易于使用的Active X映射控件。问题不在于组件,而在于数据。要么选择在线地图(Google或Bing),要么您将需要潜在的大量地图数据文件以及一种显示它们的方法。 - Warren P
3个回答

6
尝试使用 Google静态地图API V2。如果您想要一个Delphi示例来使用此API,请查看{{link2:在没有TWebBrowser的情况下使用Google地图(静态地图)}},并检查许可协议(因为在我撰写本文时,许可协议已经不同)。

......如果在基于Web的应用程序之外(例如浏览器)使用静态地图API图像,则必须包含指向在Web浏览器或本机Google Maps应用程序中显示的位置的链接。


谢谢!非常感谢详细的信息(特别是关于许可证)。 - Martijn

3

在这里,您可以找到4篇有关在Delphi中使用Google API的文章。其中两篇是关于GeoAdress,另外两篇是关于Google Maps的。如何找到邮政地址的坐标(纬度/经度)或在Google Maps上选择位置(纬度/经度)并在Delphi中检索它。

这些文章是用西班牙语写的,但是您可以通过页面右侧的按钮访问自动翻译。

所有文章都带有代码。请查看并测试。

敬礼。


1

您可以使用在线地图服务(例如Google Map或Microsoft Bing);它们都提供静态地图服务,以及默认的动态地图界面,可在Web浏览器内运行。它们还支持地理位置查询;也就是说,您可以将地址发送到它们的服务器,并检索坐标。它们还提供不同层次的信息和工具,绘制在地图上。

为了您的目的,您可以使用静态地图服务从给定的坐标使用Google或Bing检索指定缩放级别和图像大小的图像(地图、卫星或混合),然后在应用程序中显示该图像。

要使用地理位置查询和动态Web地图,您需要使用Google和Bing获取免费的开发人员密钥。它们还有广泛的在线文档和SDK可供下载。

如果您正在寻找现成的商业组件,则TGAgis是提供此类功能的组件之一。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接