我的程序在WGS84中为谷歌(经度和纬度)计算新坐标。如何验证这些坐标下是街道还是地址。
答案 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;