如何确定地理坐标附近是否存在街道或地址?

时间:2015-06-23 11:39:08

标签: android delphi delphi-xe8

我的程序在WGS84中为谷歌(经度和纬度)计算新坐标。如何验证这些坐标下是街道还是地址。

1 个答案:

答案 0 :(得分:3)

此功能由TGeocoder类提供 - 文档可在此处找到:

课程:TGeocoder

  

用于处理地理编码和反向地理编码。

     

地理编码是将地址,邮政编码等地理数据转换为地理坐标的过程。反向地理编码是将地理坐标转换为其他地理数据(例如地址)的过程。首次通过Current属性使用TGeocoder之前必须使用Initialize过程。 Supported函数确定是否可以实现地理编码。授权确定应用程序是否有权使用该服务。

您可能需要的方法:TGeocoder.GeocodeReverse

  

请求与指定地理坐标匹配的地址。

要创建特定于您的平台/设备的TGeocoder类的实例,请使用.Current类属性as described in the documentation

// ... in your class
private       
    FGeocoder: TGeocoder;
    procedure OnGeocodeReverseEvent(const Address: TCivicAddress);

然后

// Setup an instance of TGeocoder
if not Assigned(FGeocoder) then
begin
  if Assigned(TGeocoder.Current) then
    FGeocoder := TGeocoder.Current.Create;
  if Assigned(FGeocoder) then
    FGeocoder.OnGeocodeReverse := OnGeocodeReverseEvent;
end;