1

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

4

1 回答 1

3

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

类:TGeocoder

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

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

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

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

要创建TGeocoder特定于您的平台/设备的类的实例,请使用文档中描述.Current的类属性。

// ... 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;
于 2015-06-23T12:08:07.380 回答