0

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

  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;
4

1 回答 1

1

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

GeoResult 将有 4 个条目,每个结果一个。

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

于 2015-12-25T22:18:58.907 回答