Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added animation, wifi location importing, color scheme changes, loadi…

…ng message
  • Loading branch information...
commit c5509e780d6549ff702b2172bc9f7fb3f4721e08 1 parent 1bd307e
@petewarden authored
View
50 iPhoneTracking.xcodeproj/petewarden.mode1v3
@@ -278,8 +278,8 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>10</integer>
- <integer>8</integer>
+ <integer>16</integer>
+ <integer>14</integer>
<integer>0</integer>
</array>
</array>
@@ -303,7 +303,7 @@
<real>334</real>
</array>
<key>RubberWindowFrame</key>
- <string>38 226 1645 890 0 0 1920 1178 </string>
+ <string>40 59 1645 890 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -317,12 +317,14 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
- <string>parsembdb.m</string>
+ <string>iPhoneTrackingAppDelegate.m</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -330,11 +332,11 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
- <string>parsembdb.m</string>
+ <string>iPhoneTrackingAppDelegate.m</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>59F0A51413597FBF00098746</string>
+ <string>59F0A591135A0FF100098746</string>
<key>history</key>
<array>
<string>59F0A34B13593DD300098746</string>
@@ -343,8 +345,8 @@
<string>59F0A34E13593DD300098746</string>
<string>59F0A37213593F3100098746</string>
<string>59F0A4911359770A00098746</string>
- <string>59F0A4921359770A00098746</string>
- <string>59F0A4931359770A00098746</string>
+ <string>59F0A51D135A037F00098746</string>
+ <string>59F0A52C135A05BD00098746</string>
</array>
</dict>
<key>SplitCount</key>
@@ -358,7 +360,7 @@
<key>Frame</key>
<string>{{0, 0}, {642, 663}}</string>
<key>RubberWindowFrame</key>
- <string>38 226 1645 890 0 0 1920 1178 </string>
+ <string>40 59 1645 890 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -366,14 +368,12 @@
<string>642pt</string>
</dict>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
- <string>iPhoneTrackingAppDelegate.m</string>
+ <string>index.html</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -381,11 +381,11 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
- <string>iPhoneTrackingAppDelegate.m</string>
+ <string>index.html</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>59F0A51513597FBF00098746</string>
+ <string>59F0A592135A0FF100098746</string>
<key>history</key>
<array>
<string>59F0A34B13593DD300098746</string>
@@ -393,11 +393,11 @@
<string>59F0A34E13593DD300098746</string>
<string>59F0A37513593F3100098746</string>
<string>59F0A3E1135950C000098746</string>
- <string>59F0A4951359770A00098746</string>
<string>59F0A4961359770A00098746</string>
- <string>59F0A4971359770A00098746</string>
<string>59F0A4981359770A00098746</string>
- <string>59F0A4D413597AE900098746</string>
+ <string>59F0A523135A046B00098746</string>
+ <string>59F0A54B135A099200098746</string>
+ <string>59F0A54C135A099200098746</string>
</array>
</dict>
<key>SplitCount</key>
@@ -411,7 +411,7 @@
<key>Frame</key>
<string>{{647, 0}, {642, 663}}</string>
<key>RubberWindowFrame</key>
- <string>38 226 1645 890 0 0 1920 1178 </string>
+ <string>40 59 1645 890 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -435,7 +435,7 @@
<key>Frame</key>
<string>{{0, 668}, {1289, 181}}</string>
<key>RubberWindowFrame</key>
- <string>38 226 1645 890 0 0 1920 1178 </string>
+ <string>40 59 1645 890 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -603,16 +603,16 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>59F0A51613597FBF00098746</string>
+ <string>59F0A593135A0FF100098746</string>
<string>59F0A36913593EA400098746</string>
<string>59F0A36A13593EA400098746</string>
<string>1CD10A99069EF8BA00B06720</string>
- <string>59F0A2C413591AB500098746</string>
<string>1C78EAAD065D492600B07095</string>
<string>/Users/petewarden/Projects/iPhoneTracking/iPhoneTracking.xcodeproj</string>
+ <string>59F0A2C413591AB500098746</string>
</array>
<key>WindowString</key>
- <string>38 226 1645 890 0 0 1920 1178 </string>
+ <string>40 59 1645 890 0 0 1920 1178 </string>
<key>WindowToolsV3</key>
<array>
<dict>
@@ -628,12 +628,14 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
- <string>parsembdb.m</string>
+ <string>iPhoneTrackingAppDelegate.m</string>
<key>StatusBarVisibility</key>
<true/>
</dict>
@@ -650,8 +652,6 @@
<string>466pt</string>
</dict>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
View
607 iPhoneTracking.xcodeproj/petewarden.pbxuser
@@ -10,15 +10,15 @@
256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {593, 608}}";
- sepNavSelRange = "{244, 0}";
- sepNavVisRange = "{0, 456}";
+ sepNavSelRange = "{332, 0}";
+ sepNavVisRange = "{0, 535}";
};
};
256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2700}}";
- sepNavSelRange = "{1914, 0}";
- sepNavVisRange = "{991, 1397}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 3090}}";
+ sepNavSelRange = "{3640, 0}";
+ sepNavVisRange = "{3024, 1526}";
};
};
29B97313FDCFA39411CA2CEA /* Project object */ = {
@@ -228,6 +228,53 @@
59F0A50E13597F8400098746 /* PBXTextBookmark */ = 59F0A50E13597F8400098746 /* PBXTextBookmark */;
59F0A51413597FBF00098746 /* PBXTextBookmark */ = 59F0A51413597FBF00098746 /* PBXTextBookmark */;
59F0A51513597FBF00098746 /* PBXTextBookmark */ = 59F0A51513597FBF00098746 /* PBXTextBookmark */;
+ 59F0A51D135A037F00098746 /* PBXTextBookmark */ = 59F0A51D135A037F00098746 /* PBXTextBookmark */;
+ 59F0A51E135A037F00098746 /* PBXTextBookmark */ = 59F0A51E135A037F00098746 /* PBXTextBookmark */;
+ 59F0A51F135A037F00098746 /* PBXTextBookmark */ = 59F0A51F135A037F00098746 /* PBXTextBookmark */;
+ 59F0A520135A037F00098746 /* PBXTextBookmark */ = 59F0A520135A037F00098746 /* PBXTextBookmark */;
+ 59F0A522135A046B00098746 /* PBXTextBookmark */ = 59F0A522135A046B00098746 /* PBXTextBookmark */;
+ 59F0A523135A046B00098746 /* PBXTextBookmark */ = 59F0A523135A046B00098746 /* PBXTextBookmark */;
+ 59F0A524135A046B00098746 /* PBXTextBookmark */ = 59F0A524135A046B00098746 /* PBXTextBookmark */;
+ 59F0A525135A046B00098746 /* PBXTextBookmark */ = 59F0A525135A046B00098746 /* PBXTextBookmark */;
+ 59F0A52C135A05BD00098746 /* PBXTextBookmark */ = 59F0A52C135A05BD00098746 /* PBXTextBookmark */;
+ 59F0A52D135A05BD00098746 /* PBXTextBookmark */ = 59F0A52D135A05BD00098746 /* PBXTextBookmark */;
+ 59F0A52E135A05BD00098746 /* PBXTextBookmark */ = 59F0A52E135A05BD00098746 /* PBXTextBookmark */;
+ 59F0A530135A05D000098746 /* PBXTextBookmark */ = 59F0A530135A05D000098746 /* PBXTextBookmark */;
+ 59F0A531135A05D000098746 /* PBXTextBookmark */ = 59F0A531135A05D000098746 /* PBXTextBookmark */;
+ 59F0A534135A05EA00098746 /* PBXTextBookmark */ = 59F0A534135A05EA00098746 /* PBXTextBookmark */;
+ 59F0A535135A05EA00098746 /* PBXTextBookmark */ = 59F0A535135A05EA00098746 /* PBXTextBookmark */;
+ 59F0A537135A06C100098746 /* PBXTextBookmark */ = 59F0A537135A06C100098746 /* PBXTextBookmark */;
+ 59F0A538135A06C100098746 /* PBXTextBookmark */ = 59F0A538135A06C100098746 /* PBXTextBookmark */;
+ 59F0A53F135A087E00098746 /* PBXTextBookmark */ = 59F0A53F135A087E00098746 /* PBXTextBookmark */;
+ 59F0A540135A087E00098746 /* PBXTextBookmark */ = 59F0A540135A087E00098746 /* PBXTextBookmark */;
+ 59F0A542135A08BF00098746 /* PBXTextBookmark */ = 59F0A542135A08BF00098746 /* PBXTextBookmark */;
+ 59F0A543135A08BF00098746 /* PBXTextBookmark */ = 59F0A543135A08BF00098746 /* PBXTextBookmark */;
+ 59F0A54A135A099200098746 /* PBXTextBookmark */ = 59F0A54A135A099200098746 /* PBXTextBookmark */;
+ 59F0A54B135A099200098746 /* PBXTextBookmark */ = 59F0A54B135A099200098746 /* PBXTextBookmark */;
+ 59F0A54C135A099200098746 /* PBXTextBookmark */ = 59F0A54C135A099200098746 /* PBXTextBookmark */;
+ 59F0A54D135A099200098746 /* PBXTextBookmark */ = 59F0A54D135A099200098746 /* PBXTextBookmark */;
+ 59F0A553135A09E400098746 /* PBXTextBookmark */ = 59F0A553135A09E400098746 /* PBXTextBookmark */;
+ 59F0A554135A09E400098746 /* PBXTextBookmark */ = 59F0A554135A09E400098746 /* PBXTextBookmark */;
+ 59F0A55A135A0A0400098746 /* PBXTextBookmark */ = 59F0A55A135A0A0400098746 /* PBXTextBookmark */;
+ 59F0A55B135A0A0400098746 /* PBXTextBookmark */ = 59F0A55B135A0A0400098746 /* PBXTextBookmark */;
+ 59F0A561135A0A1200098746 /* PBXTextBookmark */ = 59F0A561135A0A1200098746 /* PBXTextBookmark */;
+ 59F0A562135A0A1200098746 /* PBXTextBookmark */ = 59F0A562135A0A1200098746 /* PBXTextBookmark */;
+ 59F0A568135A0A9100098746 /* PBXTextBookmark */ = 59F0A568135A0A9100098746 /* PBXTextBookmark */;
+ 59F0A569135A0A9100098746 /* PBXTextBookmark */ = 59F0A569135A0A9100098746 /* PBXTextBookmark */;
+ 59F0A56F135A0AAE00098746 /* PBXTextBookmark */ = 59F0A56F135A0AAE00098746 /* PBXTextBookmark */;
+ 59F0A570135A0AAE00098746 /* PBXTextBookmark */ = 59F0A570135A0AAE00098746 /* PBXTextBookmark */;
+ 59F0A574135A0AEA00098746 /* PBXTextBookmark */ = 59F0A574135A0AEA00098746 /* PBXTextBookmark */;
+ 59F0A575135A0AEA00098746 /* PBXTextBookmark */ = 59F0A575135A0AEA00098746 /* PBXTextBookmark */;
+ 59F0A57B135A0B8C00098746 /* PBXTextBookmark */ = 59F0A57B135A0B8C00098746 /* PBXTextBookmark */;
+ 59F0A57C135A0B8C00098746 /* PBXTextBookmark */ = 59F0A57C135A0B8C00098746 /* PBXTextBookmark */;
+ 59F0A582135A0CE800098746 /* PBXTextBookmark */ = 59F0A582135A0CE800098746 /* PBXTextBookmark */;
+ 59F0A583135A0CE800098746 /* PBXTextBookmark */ = 59F0A583135A0CE800098746 /* PBXTextBookmark */;
+ 59F0A585135A0E6900098746 /* PBXTextBookmark */ = 59F0A585135A0E6900098746 /* PBXTextBookmark */;
+ 59F0A586135A0E6900098746 /* PBXTextBookmark */ = 59F0A586135A0E6900098746 /* PBXTextBookmark */;
+ 59F0A58B135A0FDA00098746 /* PBXTextBookmark */ = 59F0A58B135A0FDA00098746 /* PBXTextBookmark */;
+ 59F0A58C135A0FDA00098746 /* PBXTextBookmark */ = 59F0A58C135A0FDA00098746 /* PBXTextBookmark */;
+ 59F0A591135A0FF100098746 /* PBXTextBookmark */ = 59F0A591135A0FF100098746 /* PBXTextBookmark */;
+ 59F0A592135A0FF100098746 /* PBXTextBookmark */ = 59F0A592135A0FF100098746 /* PBXTextBookmark */;
};
sourceControlManager = 59F0A2BC13591AA200098746 /* Source Control */;
userBuildSettings = {
@@ -301,9 +348,9 @@
};
59F0A3071359237800098746 /* index.html */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {782, 1080}}";
- sepNavSelRange = "{1038, 0}";
- sepNavVisRange = "{890, 804}";
+ sepNavIntBoundsRect = "{{0, 0}, {782, 1275}}";
+ sepNavSelRange = "{1124, 0}";
+ sepNavVisRange = "{596, 923}";
};
};
59F0A32C13593AA200098746 /* FMDatabase.h */ = {
@@ -353,7 +400,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 7";
rLen = 0;
- rLoc = 922;
+ rLoc = 1018;
rType = 0;
vrLen = 684;
vrLoc = 0;
@@ -842,7 +889,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 7";
rLen = 0;
- rLoc = 922;
+ rLoc = 1018;
rType = 0;
vrLen = 684;
vrLoc = 0;
@@ -852,7 +899,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 11";
rLen = 0;
- rLoc = 1031;
+ rLoc = 1127;
rType = 0;
vrLen = 726;
vrLoc = 0;
@@ -872,7 +919,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 11";
rLen = 0;
- rLoc = 1031;
+ rLoc = 1127;
rType = 0;
vrLen = 726;
vrLoc = 0;
@@ -902,7 +949,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 11";
rLen = 0;
- rLoc = 1031;
+ rLoc = 1127;
rType = 0;
vrLen = 726;
vrLoc = 0;
@@ -922,7 +969,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 11";
rLen = 0;
- rLoc = 1031;
+ rLoc = 1127;
rType = 0;
vrLen = 726;
vrLoc = 0;
@@ -942,7 +989,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 21";
rLen = 0;
- rLoc = 1351;
+ rLoc = 1521;
rType = 0;
vrLen = 733;
vrLoc = 0;
@@ -962,7 +1009,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 12";
rLen = 0;
- rLoc = 922;
+ rLoc = 1018;
rType = 0;
vrLen = 825;
vrLoc = 0;
@@ -982,7 +1029,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 41";
rLen = 0;
- rLoc = 1554;
+ rLoc = 1795;
rType = 0;
vrLen = 880;
vrLoc = 0;
@@ -1002,7 +1049,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 47";
rLen = 0;
- rLoc = 1222;
+ rLoc = 1392;
rType = 0;
vrLen = 764;
vrLoc = 792;
@@ -1022,7 +1069,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 47";
rLen = 0;
- rLoc = 1222;
+ rLoc = 1392;
rType = 0;
vrLen = 764;
vrLoc = 792;
@@ -1042,7 +1089,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 68";
rLen = 0;
- rLoc = 1461;
+ rLoc = 1631;
rType = 0;
vrLen = 803;
vrLoc = 1029;
@@ -1062,7 +1109,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 49";
rLen = 0;
- rLoc = 1250;
+ rLoc = 1420;
rType = 0;
vrLen = 789;
vrLoc = 923;
@@ -1152,7 +1199,7 @@
fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
name = "iPhoneTrackingAppDelegate.h: 19";
rLen = 0;
- rLoc = 357;
+ rLoc = 436;
rType = 0;
vrLen = 456;
vrLoc = 0;
@@ -1162,7 +1209,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 49";
rLen = 0;
- rLoc = 1250;
+ rLoc = 1420;
rType = 0;
vrLen = 779;
vrLoc = 923;
@@ -1172,7 +1219,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 49";
rLen = 0;
- rLoc = 1250;
+ rLoc = 1420;
rType = 0;
vrLen = 808;
vrLoc = 1039;
@@ -1182,7 +1229,7 @@
fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
name = "iPhoneTrackingAppDelegate.m: 118";
rLen = 0;
- rLoc = 5459;
+ rLoc = 6322;
rType = 0;
vrLen = 1516;
vrLoc = 2343;
@@ -1192,7 +1239,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 49";
rLen = 0;
- rLoc = 1250;
+ rLoc = 1420;
rType = 0;
vrLen = 811;
vrLoc = 1029;
@@ -1202,7 +1249,7 @@
fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
name = "iPhoneTrackingAppDelegate.m: 117";
rLen = 0;
- rLoc = 5438;
+ rLoc = 6301;
rType = 0;
vrLen = 1531;
vrLoc = 2343;
@@ -1212,7 +1259,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 49";
rLen = 0;
- rLoc = 1250;
+ rLoc = 1420;
rType = 0;
vrLen = 811;
vrLoc = 1029;
@@ -1222,7 +1269,7 @@
fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
name = "iPhoneTrackingAppDelegate.m: 117";
rLen = 0;
- rLoc = 5438;
+ rLoc = 6301;
rType = 0;
vrLen = 1531;
vrLoc = 2343;
@@ -1232,7 +1279,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 60";
rLen = 0;
- rLoc = 1349;
+ rLoc = 1519;
rType = 0;
vrLen = 748;
vrLoc = 1029;
@@ -1252,7 +1299,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 60";
rLen = 0;
- rLoc = 1349;
+ rLoc = 1519;
rType = 0;
vrLen = 708;
vrLoc = 1029;
@@ -1272,7 +1319,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 59";
rLen = 0;
- rLoc = 1349;
+ rLoc = 1519;
rType = 0;
vrLen = 803;
vrLoc = 1029;
@@ -1292,7 +1339,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 74";
rLen = 0;
- rLoc = 1554;
+ rLoc = 1795;
rType = 0;
vrLen = 831;
vrLoc = 1039;
@@ -1302,7 +1349,7 @@
fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
name = "iPhoneTrackingAppDelegate.m: 90";
rLen = 0;
- rLoc = 4232;
+ rLoc = 3691;
rType = 0;
vrLen = 1739;
vrLoc = 2225;
@@ -1312,7 +1359,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 74";
rLen = 0;
- rLoc = 1554;
+ rLoc = 1795;
rType = 0;
vrLen = 831;
vrLoc = 1039;
@@ -1322,7 +1369,7 @@
fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
name = "iPhoneTrackingAppDelegate.m: 91";
rLen = 0;
- rLoc = 4288;
+ rLoc = 3691;
rType = 0;
vrLen = 1578;
vrLoc = 1820;
@@ -1332,7 +1379,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 10";
rLen = 0;
- rLoc = 310;
+ rLoc = 406;
rType = 0;
vrLen = 1106;
vrLoc = 0;
@@ -1352,7 +1399,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 30";
rLen = 0;
- rLoc = 890;
+ rLoc = 986;
rType = 0;
vrLen = 1106;
vrLoc = 0;
@@ -1372,7 +1419,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 50";
rLen = 0;
- rLoc = 1251;
+ rLoc = 1421;
rType = 0;
vrLen = 804;
vrLoc = 890;
@@ -1392,7 +1439,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 50";
rLen = 0;
- rLoc = 1251;
+ rLoc = 1421;
rType = 0;
vrLen = 804;
vrLoc = 890;
@@ -1406,9 +1453,9 @@
};
59F0A48F1359662F00098746 /* parsembdb.m */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {789, 5580}}";
- sepNavSelRange = "{2137, 0}";
- sepNavVisRange = "{1359, 1289}";
+ sepNavIntBoundsRect = "{{0, 0}, {1169, 2775}}";
+ sepNavSelRange = "{1932, 40}";
+ sepNavVisRange = "{1359, 826}";
};
};
59F0A4911359770A00098746 /* PBXTextBookmark */ = {
@@ -1456,7 +1503,7 @@
fRef = 59F0A3071359237800098746 /* index.html */;
name = "index.html: 38";
rLen = 0;
- rLoc = 1038;
+ rLoc = 1134;
rType = 0;
vrLen = 804;
vrLoc = 890;
@@ -1542,7 +1589,7 @@
hitCount = 0;
ignoreCount = 0;
location = libobjc.A.dylib;
- modificationTime = 324631241.262436;
+ modificationTime = 324666855.168433;
originalNumberOfMultipleMatches = 1;
state = 1;
symbolName = objc_exception_throw;
@@ -1777,6 +1824,476 @@
vrLen = 1397;
vrLoc = 991;
};
+ 59F0A51D135A037F00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A48F1359662F00098746 /* parsembdb.m */;
+ name = "parsembdb.m: 64";
+ rLen = 0;
+ rLoc = 1835;
+ rType = 0;
+ vrLen = 1289;
+ vrLoc = 1359;
+ };
+ 59F0A51E135A037F00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 26";
+ rLen = 0;
+ rLoc = 543;
+ rType = 0;
+ vrLen = 1202;
+ vrLoc = 528;
+ };
+ 59F0A51F135A037F00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 161";
+ rLen = 0;
+ rLoc = 5915;
+ rType = 0;
+ vrLen = 1714;
+ vrLoc = 4417;
+ };
+ 59F0A520135A037F00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 69";
+ rLen = 0;
+ rLoc = 1914;
+ rType = 0;
+ vrLen = 1397;
+ vrLoc = 991;
+ };
+ 59F0A522135A046B00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 174";
+ rLen = 0;
+ rLoc = 6329;
+ rType = 0;
+ vrLen = 1354;
+ vrLoc = 4833;
+ };
+ 59F0A523135A046B00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 54";
+ rLen = 0;
+ rLoc = 1308;
+ rType = 0;
+ vrLen = 1397;
+ vrLoc = 991;
+ };
+ 59F0A524135A046B00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 9";
+ rLen = 0;
+ rLoc = 149;
+ rType = 0;
+ vrLen = 456;
+ vrLoc = 0;
+ };
+ 59F0A525135A046B00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 19";
+ rLen = 0;
+ rLoc = 359;
+ rType = 0;
+ vrLen = 535;
+ vrLoc = 0;
+ };
+ 59F0A52C135A05BD00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 140";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1714;
+ vrLoc = 3329;
+ };
+ 59F0A52D135A05BD00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 140";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1714;
+ vrLoc = 3329;
+ };
+ 59F0A52E135A05BD00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 19";
+ rLen = 0;
+ rLoc = 359;
+ rType = 0;
+ vrLen = 535;
+ vrLoc = 0;
+ };
+ 59F0A530135A05D000098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 140";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1714;
+ vrLoc = 3329;
+ };
+ 59F0A531135A05D000098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 19";
+ rLen = 0;
+ rLoc = 359;
+ rType = 0;
+ vrLen = 535;
+ vrLoc = 0;
+ };
+ 59F0A534135A05EA00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 140";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1714;
+ vrLoc = 3329;
+ };
+ 59F0A535135A05EA00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 19";
+ rLen = 0;
+ rLoc = 359;
+ rType = 0;
+ vrLen = 535;
+ vrLoc = 0;
+ };
+ 59F0A537135A06C100098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 140";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1714;
+ vrLoc = 3329;
+ };
+ 59F0A538135A06C100098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 19";
+ rLen = 0;
+ rLoc = 359;
+ rType = 0;
+ vrLen = 535;
+ vrLoc = 0;
+ };
+ 59F0A53F135A087E00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 136";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1830;
+ vrLoc = 3329;
+ };
+ 59F0A540135A087E00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 19";
+ rLen = 0;
+ rLoc = 359;
+ rType = 0;
+ vrLen = 535;
+ vrLoc = 0;
+ };
+ 59F0A542135A08BF00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1753;
+ vrLoc = 3909;
+ };
+ 59F0A543135A08BF00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 19";
+ rLen = 0;
+ rLoc = 359;
+ rType = 0;
+ vrLen = 535;
+ vrLoc = 0;
+ };
+ 59F0A54A135A099200098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1753;
+ vrLoc = 3909;
+ };
+ 59F0A54B135A099200098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D80F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.h */;
+ name = "iPhoneTrackingAppDelegate.h: 17";
+ rLen = 0;
+ rLoc = 332;
+ rType = 0;
+ vrLen = 535;
+ vrLoc = 0;
+ };
+ 59F0A54C135A099200098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 38";
+ rLen = 0;
+ rLoc = 1134;
+ rType = 0;
+ vrLen = 796;
+ vrLoc = 890;
+ };
+ 59F0A54D135A099200098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 79";
+ rLen = 0;
+ rLoc = 2133;
+ rType = 0;
+ vrLen = 855;
+ vrLoc = 1040;
+ };
+ 59F0A553135A09E400098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1753;
+ vrLoc = 3909;
+ };
+ 59F0A554135A09E400098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 4";
+ rLen = 0;
+ rLoc = 110;
+ rType = 0;
+ vrLen = 1162;
+ vrLoc = 0;
+ };
+ 59F0A55A135A0A0400098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1753;
+ vrLoc = 3909;
+ };
+ 59F0A55B135A0A0400098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 79";
+ rLen = 0;
+ rLoc = 2060;
+ rType = 0;
+ vrLen = 885;
+ vrLoc = 1136;
+ };
+ 59F0A561135A0A1200098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1753;
+ vrLoc = 3909;
+ };
+ 59F0A562135A0A1200098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 79";
+ rLen = 0;
+ rLoc = 2021;
+ rType = 0;
+ vrLen = 886;
+ vrLoc = 1136;
+ };
+ 59F0A568135A0A9100098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1758;
+ vrLoc = 3909;
+ };
+ 59F0A569135A0A9100098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 82";
+ rLen = 0;
+ rLoc = 2133;
+ rType = 0;
+ vrLen = 900;
+ vrLoc = 1202;
+ };
+ 59F0A56F135A0AAE00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1758;
+ vrLoc = 3909;
+ };
+ 59F0A570135A0AAE00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 82";
+ rLen = 0;
+ rLoc = 2072;
+ rType = 0;
+ vrLen = 910;
+ vrLoc = 1202;
+ };
+ 59F0A574135A0AEA00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1758;
+ vrLoc = 3909;
+ };
+ 59F0A575135A0AEA00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 67";
+ rLen = 0;
+ rLoc = 1744;
+ rType = 0;
+ vrLen = 899;
+ vrLoc = 1125;
+ };
+ 59F0A57B135A0B8C00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1758;
+ vrLoc = 3909;
+ };
+ 59F0A57C135A0B8C00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 69";
+ rLen = 0;
+ rLoc = 1794;
+ rType = 0;
+ vrLen = 942;
+ vrLoc = 1125;
+ };
+ 59F0A582135A0CE800098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 151";
+ rLen = 0;
+ rLoc = 3691;
+ rType = 0;
+ vrLen = 1758;
+ vrLoc = 3909;
+ };
+ 59F0A583135A0CE800098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 49";
+ rLen = 0;
+ rLoc = 1391;
+ rType = 0;
+ vrLen = 923;
+ vrLoc = 596;
+ };
+ 59F0A585135A0E6900098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 161";
+ rLen = 0;
+ rLoc = 5402;
+ rType = 0;
+ vrLen = 1780;
+ vrLoc = 3899;
+ };
+ 59F0A586135A0E6900098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 37";
+ rLen = 0;
+ rLoc = 1124;
+ rType = 0;
+ vrLen = 923;
+ vrLoc = 596;
+ };
+ 59F0A58B135A0FDA00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 120";
+ rLen = 0;
+ rLoc = 3640;
+ rType = 0;
+ vrLen = 1526;
+ vrLoc = 3024;
+ };
+ 59F0A58C135A0FDA00098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 37";
+ rLen = 0;
+ rLoc = 1124;
+ rType = 0;
+ vrLen = 923;
+ vrLoc = 596;
+ };
+ 59F0A591135A0FF100098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 256AC3D90F4B6AC300CF3369 /* iPhoneTrackingAppDelegate.m */;
+ name = "iPhoneTrackingAppDelegate.m: 120";
+ rLen = 0;
+ rLoc = 3640;
+ rType = 0;
+ vrLen = 1526;
+ vrLoc = 3024;
+ };
+ 59F0A592135A0FF100098746 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 59F0A3071359237800098746 /* index.html */;
+ name = "index.html: 37";
+ rLen = 0;
+ rLoc = 1124;
+ rType = 0;
+ vrLen = 923;
+ vrLoc = 596;
+ };
8D1107260486CEB800E47090 /* iPhoneTracking */ = {
activeExec = 0;
executables = (
View
1  iPhoneTrackingAppDelegate.h
@@ -16,6 +16,7 @@
- (NSString*)getLocationDBPath;
- (void)loadLocationDB;
+- (void) incrementBuckets:(NSMutableDictionary*)buckets forKey:(NSString*)key;
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet WebView *webView;
View
79 iPhoneTrackingAppDelegate.m
@@ -113,39 +113,56 @@ - (void)loadLocationDB
if (!openWorked) {
[self displayErrorAndQuit:[NSString stringWithFormat: @"Couldn't open location database file '%@'", locationDBPath]];
}
-
- FMResultSet* results = [database executeQuery:@"SELECT * FROM CellLocation;"];
const float precision = 100;
NSMutableDictionary* buckets = [NSMutableDictionary dictionary];
- while ([results next]) {
- NSDictionary* row = [results resultDict];
-
- NSNumber* latitude_number = [row objectForKey:@"latitude"];
- NSNumber* longitude_number = [row objectForKey:@"longitude"];
- NSNumber* timestamp_number = [row objectForKey:@"timestamp"];
-
- const float latitude = [latitude_number floatValue];
- const float longitude = [longitude_number floatValue];
- const float timestamp = [timestamp_number floatValue];
-
- const float latitude_index = (floor(latitude*precision)/precision);
- const float longitude_index = (floor(longitude*precision)/precision);
- NSString* key = [NSString stringWithFormat:@"%f,%f", latitude_index, longitude_index];
-
- NSNumber* existingValue = [buckets objectForKey:key];
- if (existingValue==nil) {
- existingValue = [NSNumber numberWithInteger:0];
+ NSString* queries[] = {@"SELECT * FROM CellLocation;", @"SELECT * FROM WifiLocation;"};
+
+ for (int pass=0; pass<2; pass+=1) {
+
+ FMResultSet* results = [database executeQuery:queries[pass]];
+
+ while ([results next]) {
+ NSDictionary* row = [results resultDict];
+
+ NSNumber* latitude_number = [row objectForKey:@"latitude"];
+ NSNumber* longitude_number = [row objectForKey:@"longitude"];
+ NSNumber* timestamp_number = [row objectForKey:@"timestamp"];
+
+ const float latitude = [latitude_number floatValue];
+ const float longitude = [longitude_number floatValue];
+ const float timestamp = [timestamp_number floatValue];
+
+ // The timestamps seem to be based off 2001-01-01 strangely, so convert to the
+ // standard Unix form using this offset
+ const float iOSToUnixOffset = (31*365.25*24*60*60);
+ const float unixTimestamp = (timestamp+iOSToUnixOffset);
+
+ if ((latitude==0.0)&&(longitude==0.0)) {
+ continue;
+ }
+
+ const float weekInSeconds = (7*24*60*60);
+ const float timeBucket = (floor(unixTimestamp/weekInSeconds)*weekInSeconds);
+
+ NSDate* timeBucketDate = [NSDate dateWithTimeIntervalSince1970:timeBucket];
+
+ NSString* timeBucketString = [timeBucketDate descriptionWithCalendarFormat:@"%Y-%m-%d" timeZone:nil locale:nil];
+
+ const float latitude_index = (floor(latitude*precision)/precision);
+ const float longitude_index = (floor(longitude*precision)/precision);
+ NSString* allKey = [NSString stringWithFormat:@"%f,%f,All Time", latitude_index, longitude_index];
+ NSString* timeKey = [NSString stringWithFormat:@"%f,%f,%@", latitude_index, longitude_index, timeBucketString];
+
+ [self incrementBuckets: buckets forKey: allKey];
+ [self incrementBuckets: buckets forKey: timeKey];
}
- NSNumber* newValue = [NSNumber numberWithInteger:([existingValue integerValue]+1)];
-
- [buckets setObject: newValue forKey: key];
}
NSMutableArray* csvArray = [[[NSMutableArray alloc] init] autorelease];
- [csvArray addObject: @"lat,lon,value\n"];
+ [csvArray addObject: @"lat,lon,value,time\n"];
for (NSString* key in buckets) {
NSNumber* count = [buckets objectForKey:key];
@@ -153,8 +170,9 @@ - (void)loadLocationDB
NSArray* parts = [key componentsSeparatedByString:@","];
NSString* latitude_string = [parts objectAtIndex:0];
NSString* longitude_string = [parts objectAtIndex:1];
+ NSString* time_string = [parts objectAtIndex:2];
- NSString* rowString = [NSString stringWithFormat:@"%@,%@,%@\n", latitude_string, longitude_string, count];
+ NSString* rowString = [NSString stringWithFormat:@"%@,%@,%@,%@\n", latitude_string, longitude_string, count, time_string];
[csvArray addObject: rowString];
}
@@ -167,4 +185,15 @@ - (void)loadLocationDB
}
+- (void) incrementBuckets:(NSMutableDictionary*)buckets forKey:(NSString*)key
+{
+ NSNumber* existingValue = [buckets objectForKey:key];
+ if (existingValue==nil) {
+ existingValue = [NSNumber numberWithInteger:0];
+ }
+ NSNumber* newValue = [NSNumber numberWithInteger:([existingValue integerValue]+1)];
+
+ [buckets setObject: newValue forKey: key];
+}
+
@end
View
12 index.html
@@ -1,5 +1,6 @@
<html>
<head>
+<link rel="stylesheet" type="text/css" href="http://static.openheatmap.com/css/mainstyle.css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://static.openheatmap.com/scripts/jquery.openheatmap.js"></script>
<script type='text/javascript'>
@@ -45,6 +46,8 @@
openHeatMap.setSetting(key, value);
}
+ openHeatMap.setColorGradient(["#eaf8b800","#eae40f16","#ea2d00dd"]);
+
g_isMapCreated = true;
if (g_csvString!=null) {
@@ -63,10 +66,17 @@
var openHeatMap = $.getOpenHeatMap();
openHeatMap.loadValuesFromCSVString(g_csvString);
+ $('#message').html('');
+
+ openHeatMap.setAnimationTime('All Time');
}
+
</script>
</head>
-<body style="margin:0px; padding:0px;">
+<body style="margin:0px; padding:0px; position:relative;">
<div id="openheatmap_container" style="margin:0px; padding:0px;"></div>
+<div id="message" style="position:absolute; top:20px; left:0px; width: 1000px; text-align:center; font-size:200%;">
+Loading <img src="http://static.openheatmap.com/images/loading.gif"/>
+</div>
</body>
</html>
Please sign in to comment.
Something went wrong with that request. Please try again.