コントロールタイプが SD Maps のグリッドで、アニメーションレイヤー (マップ上のポイントのアニメーション表示を可能にする) を有効または無効にします。
対応しているプラットフォーム: スマートデバイス (iOS)
コントロール: グリッド (Control Type:
SD Maps)
このプロパティは、マップ上のポイントのアニメーション表示を可能にします。たとえば、車両 (タクシー、Uber、配送業者) が移動する経路を表示できます。
[ Control Type ] プロパティ = SD Maps のグリッドにのみ適用されます。
[ Animations Layer ] プロパティを True に設定すると、次のプロパティが有効になり、関連する設定が可能になります:
[ Control Type ] プロパティが SD Maps のグリッドに関連する別の重要なプロパティに
[ Location Attribute ] プロパティがあります。
このプロパティは設計時にのみ適用されます。
次のトランザクションを考えてみます。
Car
{
CarId*
.....}
CarLocation
{
CarId*
CarLocationId*
CarLocation (Data Type = GeoPoint)
}
上のトランザクションに関連付けられている物理テーブルにデータを割り当てる次のプロシージャーがあるとします:
new
CarId = 1
endnew
new
CarId = 1
CarLocationId = 1
CarLocation = geopoint.FromString('POINT (-56.088973921240267 -34.883211936027749)')
CarAnimationDuration = 2
endnew
new
CarId = 1
CarLocationId = 2
CarLocation = geopoint.FromString('POINT (-56.086742323339877 -34.883211936027749)')
CarAnimationDuration = 1
endnew
new
CarId = 1
CarLocationId = 3
CarLocation = geopoint.FromString('POINT (-56.083400226489289 -34.883156426543607)')
CarAnimationDuration = 3
endnew
次に、
Panel オブジェクトを作成してグリッドを含め、次の各プロパティを設定します:
- [ Control Type ] プロパティ = SD Maps
- [ Location Attribute ] プロパティ = CarLocation
- [ Animation Layer ] プロパティ = True
- [ Animation Key Attribute ] プロパティ = CarId
- [ Animation Duration ] プロパティ = 2
グリッドの条件で次のように定義します:
CarLocationId = &CurrentAnimationStep;
Panel for Smart Devices のイベントセクションで、次のように定義します:
Event Refresh
Composite
Grid1.Refresh()
¤tAnimationStep += 1
EndComposite
Endevent
Event ClientStart
¤tAnimationStep = 1
Endevent
注: アニメーションを完全に表示するには、アニメーションにするポイントまで到達する範囲に基づくズームを定義することをお勧めします。そのためには、グリッドのプロパティを次のように設定する必要があります:
ClientStart イベントを変更し、&Radio 変数を開始する必要があります:
Event ClientStart
composite
¤tAnimationStep = 1
&Radio = 100
endcomposite
EndEvent
アニメーションの持続時間を設定する場合
上の CarLocation トランザクションの例で、アニメーションの持続時間または最終的な動作、あるいはその両方を格納する項目属性を追加するとします:
CarLocation
{
CarID*
CarLocationId*
CarLocation (Data Type = GeoPoint)
CarAnimationDuration (Data Type = Numeric)
}
項目属性 (CarAnimationDuration) に、アニメーションが持続する秒数が含まれるため、SD Maps コントロールタイプのグリッドのプロパティを次のように設定する必要があります:
- [ Animation Duration Attribute ] プロパティ = CarAnimationDuration
iOS: GeneXus 16 Upgrade 5 以降
Android: GeneXus 16 Upgrade 7 以降
プロパティに値を設定したときに、それに対応する変更を適用するには、オブジェクトの [
これだけをビルド ] を実行します。
Maps コントロールタイプ
[ Location Attribute ] プロパティ