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 コンポーネントは、1 つのジオコーディングのみを保存できます。GeoResult 配列があるのは、ジオコーディングが複数の結果を返す可能性があるためです。たとえば、米国のような地域を定義するトレドをジオコーディングすると、4 つの結果が得られます 1.- オハイオ州トレド 2.- オレゴン州トレド 3.- アイオワ州トレド 4.- ワシントン州トレド

GeoResult には、結果ごとに 1 つずつ、合計 4 つのエントリがあります。

すべてのジオコーディングを保存する場合は、ジオコーディングごとに結果を TGMMarker に追加する必要があります

于 2015-12-25T22:18:58.907 に答える