GPS関連の設定をするサンプル。
前半は、AutomationConnectIQ-サンプル2の冒頭部分のコードと同じ。
その後のシミュレーター操作部分のみをここでは記載する。
# シミュレーターの起動と起動待ち
$sim = New-Object Simulator($sdk)
$sim.WaitForInput()
# シミュレーターにプログラムをロードとロード完了待ち
$sdk.StartProgram($proj.DefaultProgramPath, $deviceName)
$sim.WaitForDeviceStart()
$outputDir = "O:\Users\....\Downloads\output"
# GPSのクオリティをUsableに位置を皇居に設定し、その時の状態をビットマップに保存する
$sim.SetGPSQuality([Simulator+GPSQualityType]::Usable);
$sim.SetGPSPosition(35.685233, 139.752485)
sleep -Milliseconds 500 # 画面更新のための時間稼ぎ
$bitmap = $sim.Capture()
$bitmap.Save($(Join-Path $outputDir $deviceName".png"))
- 12行目:GPS品質の設定
シミュレーターの画面でいうとこれ。
選択肢はenumなのだが、PowerShellでは、enumの定義名、[Simulator+GPSQualityType]の後ろに::を付けフィールド名を設定する記述になる。
+はSimulatorクラスの内部定義を表している。
Simulatorクラスで設定する設定値はSimulatorクラスの内部定義なので、他のenumの設定も、上記のような記述の仕方になる。 - 13行目:GPS座標値の設定
ここで設定する値はGoogleマップから引用することができる。
Googleマップで画面をクリックすると画面下にポップアップが表示される。
上記画面の赤線を引いてある部分が座標にあたり、クリックするとクリップボードにペーストされるため、後はエディタ上でペーストすれば座標の設定ができる。 - 14~16行目:画面のキャプチャ
これはよく使うであろうコード。画面のキャプチャを行うコードになる。
GPS座標設定や時間の設定などを行ったのち、画面がどのようになっているかを確認するためのものになる。
機能的には上記のメニュー相当になるのだが、実装方法は異なり、シミュレーター画面から直接ビットマップの情報を取得している。
なので、ビットマップを保存するため16行目のSave命令が必要になる。
また、キャプチャ前にsleep -Milliseconds 500
を入れているが、これはプログラムが画面更新を行うまで時間調整を行うため。
使用している環境やデバイス、プログラムなどによりこの時間は変化するため、自分に合った調整時間にしてもらうのがいい。
コメント