GMLib Delphi,试图创建一个概念验证应用程序,Map,GeoCode,Markers

时间:2015-12-23 16:07:00

标签: delphi geocode gmlib

我有app / map工作/显示的基本部分。但是当我尝试对多个地址进行地理编码然后显示标记时,它只显示最后一个地址。只有最后一个地址会显示在地图上。

  GMGeoCode1.Geocode('address 1 anytown st');
  GMGeoCode1.Geocode('address 2 anytown st');
    for I := 0 to GMGeoCode1.Count - 1 do
    begin
    GMGeoCode1.Marker.Add(GMGeoCode1.GeoResult [i] .Geometry.Location.Lat,
           GMGeoCode1.GeoResult [i] .Geometry.Location.Lng,
           GMGeoCode1.GeoResult [i] .FormatedAddr);
         GMGeoCode1.Marker.Items [i] .MarkerType := mtStyledMarker;
    end;

1 个答案:

答案 0 :(得分:1)

TGMGeoCode组件只能存储一个地理编码。 GeoResult数组是因为地理编码可以返回多个结果。 例如,如果您对Toledo进行地理编码定义美国区域,则会获得4个结果 1.-俄亥俄州托莱多市 2.-托莱多,俄勒冈州 3.-托莱多,爱荷华州 4.-托莱多,华盛顿

一个GeoResult将有4个条目,每个条目对应一个。

如果您想存储所有地理编码,则需要在每次地理编码时将结果添加到TGMMarker