ヘルプ! 私はプロジェクトの最終段階にあり、単純なアレイの問題で迷っています。誰か私にこのビットと一緒に手を差し伸べることができますか?GPSを使用して小さな配列のヘルプが必要
このサブは、locmessage
(locationメッセージ)というデータベースからlistview-(lvgps)
を入力します。
このデータベースから、ロケーション(物理的な場所)、Latitude(緯度)、Longitude(Lon)とIDを取得します。その場所までの距離はdist = Currentloc.DistanceTo(gpsStoredSavedLoc)
とするとき0に近いメッセージが表示されると計算され
-
は、緯度と経度は、(ため息その名前が恥ずかしいです)gpsStoredSavedLoc
と呼ばれる新しい場所に初期化されます。
これは、あまりにも多くのリソースを消費するため、Sub GPS_LocationChanged
を実行する恐ろしい方法である点を除いて、すべて正常に動作します。
私がする必要があるのは、各エントリ(おそらく約15最大)のCurrentloc.DistanceTo(gpsStoredSavedLoc)
を保持している小さな配列にLatとLonをロードすることです。それはその距離(dist) = 0 or < 5
(または何でも)まで実行されます。
ターゲットのdistに到達したときに下位のmodをトリガしてメッセージを返すので、配列のlatとlonのIDまたはLocationは必要ありません。
これはちょっとしたことですが、私の人生にとっては、私はそれを解決することができません。私はこれを試みた
Sub gpsdbload
Dim place As String
Cursor1 = SQL1.ExecQuery("SELECT * FROM locmessage")
For i = 0 To Cursor1.RowCount - 1
Cursor1.Position = i
place =cursor1.GetString("Location")
gpsSavedlocation.Latitude = Cursor1.GetDouble("Lat")
gpsSavedlocation.Longitude = Cursor1.GetDouble("Long")
gpsStoredSavedLoc.Initialize2(gpsSavedlocation.latitude,gpsSavedlocation.longitude)
'the motor it recalculates the distance
Dim dist As Double
dist = Currentloc.DistanceTo(gpsStoredSavedLoc)
If dist < 1000 Then
dist = Round2(dist,2)
Else
dist = Round2(dist/1000,2)
End If
lvgps.AddSingleLine2(place&" " & dist,cursor1.GetLong("ID"))
If dist < 5 Then
If Msg1 = "" Then
Dim msg1 As String
msg1 = Cursor1.Getstring("Msg1")
Msgbox(msg1, "Message from " & place)
End If
End If
Next
Cursor1.Close
End Sub
:-)
おかげ.... Dim gpsdata(15) As Int
- 上記サブ
`gpsdata = gpsStoredSavedLoc`
に置くサブグローバル
では、次に
を実行しますSub GPSarray
For i = 0 To gpsdata.Length - 1
Dim gpsdataloop As Double
gpsdataloop = Currentloc.DistanceTo(gpsdata)
If gpsdataloop < 5 Then
Msgbox("Message from test","")
End If
Next
End Sub
それは私にCurrentloc.DistanceToがLocationオブジェクトではなく、整数の配列を期待するため、このエラーを取得している
Compiling code. 0.05
Generating R file. 0.00
Compiling generated Java code. Error
B4A line: 520
gpsdataloop = Currentloc.DistanceTo(gpsdata)
javac 1.6.0_26
src\Stuff\U\Canuse\main.java:733: inconvertible types
found : int[]
required: android.location.Location
_gpsdataloop = _currentloc.DistanceTo((android.location.Location)(_gpsdata));
ありがとうErel、私は戻って緯度と緯度を記録し、代わりに今すぐ:) – netchicken