User Tools

Site Tools


geofencedsl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
geofencedsl [2011/01/25 22:01] – created donpdonpgeofencedsl [2024/01/31 04:08] (current) – external edit 127.0.0.1
Line 1: Line 1:
 == GeoFence DSL == == GeoFence DSL ==
  
-javascript +Allow users to write javascript to do what they want to with geofence events. 
 +Attach a code blob to a fence, to automatically be run on any event for that fence. 
 +Attach a blob to the user account to run on any fence event.
  
-fences[] - access to each of the defined geofences 
  
 +Variables
 <code> <code>
- +event = "fence" : <The specific fence that caused the event> 
-function init() +           "date" : <trigger date> 
-+           "verb" : "IN" | "OUT" 
- +         
-function event(detail) +fences[] - access to each of the user defined geofences 
-+fence = {  
 +     "name" : "Bob's GeoFence", 
 +     "geometry":
 +        "type": "Polygon", 
 +        "coordinates":
 +          [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], 
 +            [100.0, 1.0], [100.0, 0.0] ] 
 +          ] 
 +      /* from http://locationcommons.org/index.php?title=GeoFence */ 
 +inside_fences[] - list of fences currently "inside"
 </code> </code>
      
 +Send an email on every fence crossing (blob attached to the user)
 +<code>
 + if event.verb == "IN" {
 +    email("don@don", "Fence entered!")
 + }
 +</code>
 +
 +Send an email if I'm at the ACE for 10 minutes (blob attached to the fence)
 +<code>
 + if (event.verb == "IN") {
 +    if ((new Date()) - fence.inside_trigger_time > 10.minutes) {
 +      email("brennan", "Nerdout at the ACE Hotel!")
 +    }
 + }
 +</code>
 +
geofencedsl.1295992871.txt.gz · Last modified: 2024/01/31 04:08 (external edit)