浏览代码

Added sending of horizontal accuracy

Thomas Chef 3 年之前
父节点
当前提交
5e92b0e861

+ 19 - 4
JourneyGPSTracker/Base.lproj/Main.storyboard

@@ -57,7 +57,7 @@
                                 <nil key="highlightedColor"/>
                             </label>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="-" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EhI-Pa-ZNA" userLabel="LatestTSSent">
-                                <rect key="frame" x="166" y="400" width="186" height="21"/>
+                                <rect key="frame" x="166" y="451" width="186" height="21"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <nil key="textColor"/>
@@ -78,21 +78,35 @@
                                 <nil key="highlightedColor"/>
                             </label>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Latest TS sent:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="y63-gU-mRJ">
-                                <rect key="frame" x="34" y="400" width="115" height="21"/>
+                                <rect key="frame" x="34" y="451" width="115" height="21"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="0" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TFS-6S-Reu" userLabel="Failed updates">
-                                <rect key="frame" x="287" y="379" width="65" height="21"/>
+                                <rect key="frame" x="287" y="430" width="65" height="21"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Failed back-end updates:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2C5-0g-27u">
-                                <rect key="frame" x="34" y="379" width="193" height="21"/>
+                                <rect key="frame" x="34" y="430" width="193" height="21"/>
+                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <nil key="textColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="0" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6b2-O1-snA" userLabel="GPSAccuracy">
+                                <rect key="frame" x="287" y="401" width="65" height="21"/>
+                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <nil key="textColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="GPS Accuracy:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ckm-NX-bEH" userLabel="GPS Accuracy">
+                                <rect key="frame" x="34" y="401" width="114" height="21"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <nil key="textColor"/>
@@ -103,6 +117,7 @@
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                     </view>
                     <connections>
+                        <outlet property="GPSAccuracy" destination="6b2-O1-snA" id="mie-A9-k5e"/>
                         <outlet property="latestTSSent" destination="EhI-Pa-ZNA" id="aGH-ln-pi5"/>
                         <outlet property="noOfFailedUpdatesUI" destination="TFS-6S-Reu" id="60c-nc-uJ5"/>
                         <outlet property="noOfRxGPSPos" destination="gjP-2D-NvA" id="7hy-Mg-Vvj"/>

+ 2 - 1
JourneyGPSTracker/Model.xcdatamodeld/Model.xcdatamodel/contents

@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="20086" systemVersion="21E258" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
     <entity name="GPS" representedClassName="GPS" syncable="YES" codeGenerationType="class">
+        <attribute name="horizAcc" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES"/>
         <attribute name="latitude" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
         <attribute name="longitud" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
         <attribute name="ts" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     </entity>
     <elements>
-        <element name="GPS" positionX="-63" positionY="-18" width="128" height="74"/>
+        <element name="GPS" positionX="-63" positionY="-18" width="128" height="89"/>
     </elements>
 </model>

+ 6 - 1
JourneyGPSTracker/ViewController.swift

@@ -16,9 +16,11 @@ class ViewController: UIViewController {
         var latitude: Double
         var longitude: Double
         var ts: String
+        var horizAcc: Int32
     }
    
     
+    @IBOutlet weak var GPSAccuracy: UILabel!
     @IBOutlet weak var noOfFailedUpdatesUI: UILabel!
     @IBOutlet weak var latestTSSent: UILabel!
     @IBOutlet weak var noOfRxGPSPos: UILabel!
@@ -78,7 +80,7 @@ class ViewController: UIViewController {
                     
                     fd.forEach { row in
                         let ts = convertStartDate(StartDate: row.ts!)
-                        let gpsPosLog = GPS_POS_LOG(latitude:row.latitude,longitude: row.longitud,ts: ts)
+                        let gpsPosLog = GPS_POS_LOG(latitude:row.latitude,longitude: row.longitud,ts: ts, horizAcc: row.horizAcc)
                         positions.append(gpsPosLog)
                         //cnxt.delete(row)          // This row deletes the row in the DB
                         self.noOfSentToServer += 1
@@ -238,7 +240,10 @@ extension ViewController: CLLocationManagerDelegate {
         locations.forEach { (location) in
             //print("LocationManager horizontalAccuracy: \(location.horizontalAccuracy)")
             
+            GPSAccuracy.text = String(location.horizontalAccuracy)
+            
             let pos = NSManagedObject(entity: entity,insertInto: managedContext)
+            pos.setValue(location.horizontalAccuracy, forKey: "horizAcc")
             pos.setValue(location.coordinate.longitude, forKey: "longitud")
             pos.setValue(location.coordinate.latitude, forKey: "latitude")
             pos.setValue(location.timestamp, forKey: "ts")