GPS デバイスの状態とサービスの状態が両方ともオンになっているのに、表示されている衛星と緯度/経度が両方とも空白であることを知っているため、混乱しています。プログラムで port を使用するように構成GPD1
し、ハードウェアでCOM7
. これは正しい構成のようです。何も返されないのはなぜですか?
1 に答える
緯度と経度は、Fix (有効な地理的位置) がある場合にのみ入力されます。
// call native method passing in our native buffer
int result = GPSGetPosition(gpsHandle, ptr, 500000, 0);
if (result == 0)
{
// native call succeeded, marshal native data to our managed data
gpsPosition = (GpsPosition)Marshal.PtrToStructure(ptr, typeof(GpsPosition));
if (maxAge != TimeSpan.Zero)
{
// check to see if the data is recent enough.
if (!gpsPosition.TimeValid || DateTime.Now - maxAge > gpsPosition.Time)
{
gpsPosition = null;
}
}
}
修正 (有効な位置) の場合、GPS は少なくとも 3 つの有効な衛星を必要とします。
他の質問にリンクしたGPSsampleを参照してください。GPS 信号で何が起こっているかについての背景情報がいくつか表示されます。
ヒント: 代替の EE データ ソースがなく、GPS モジュールがあまり動かされていない場合、最初の修正までの時間 (TTFF) は、空が自由に見える状態で最大 15 ~ 20 分続く場合があります。EE データは衛星放送から構築され、データ レートは非常に低くなります。EE データはインターネット データ接続を介して提供することもできますが、使用方法は使用する GPS モジュールによって異なります。この EE データは、すべての GPS 衛星の実際の位置を 2 週間指定します。GPS 受信機の電源を切って約 200 km 移動した場合、位置はベースから計算する必要があります (さらに 15 分かかる場合があります)。
実際には、現在の GPS 受信機は、EE データの代替「フィード」を提供します。たとえば、GPSeXtra (インターネット データ) や MS アシスト GPS (携帯電話のタワー ID と位置) などです。