Rock Mobile Docs
App Factory
  • Welcome 👋
  • 📱Getting Started
    • Building Your First App
      • Creating An App
      • App Configuration
      • Adding Content
      • Deploying Your App
    • Lexicon
  • 🧱Essentials
    • Animations
    • Blocks
      • CMS
        • Content
        • Content Channel Item View
        • Content Collection View
        • Daily Challenge Entry
        • Hero
        • Lava Item List
        • Login
          • Using Auth0
          • Using Entra
        • Profile Details
        • Register
        • Structured Content View
        • Workflow Entry
      • Check-in
        • Check-in
      • Communication
        • Communication Entry
        • Communication List Subscribe
        • Communication View
        • SMS Conversation List
        • SMS Conversation
      • Connection
        • Add Connection Request
        • Connection Type List
        • Connection Opportunity List
        • Connection Request List
        • Connection Request Detail
      • Core
        • Attribute Values
        • Notes
        • Search
        • Smart Search
        • Quick Note
        • My Notes
      • CRM
        • Group Members
        • Person Profile
      • Events
        • Live Experience Occurrences
        • Live Experience
        • Calendar Event Item Occurrence View
        • Calendar Event List
        • Calendar View
        • Event Item Occurrence List By Audience Lava
      • Finance
        • Giving
        • Scheduled Transaction List
        • Transaction Detail
        • Transaction List
      • Groups
        • Group Attendance Entry
        • Group Edit
        • Group Finder
        • Group Member Edit
        • Group Member List
        • Group Member View
        • Group Registration
        • Group View
        • Schedule Preference
        • Schedule Sign Up
        • Schedule Toolbox
        • Schedule Unavailability
      • Prayer
        • Answer To Prayer
        • My Prayer Requests
        • Prayer Card View
        • Prayer Request Details
        • Prayer Session
        • Prayer Session Setup
      • Reminders
        • Reminder Edit
        • Reminder List
        • Reminder Dashboard
      • Security
        • Onboard Person
    • Codex
      • Application Strategy
      • XAML Styling
      • Resources
      • Documentation
    • Commands
      • Communication Commands
      • Navigation Commands
      • Media Commands
      • Utility Commands
    • Controls
      • Behaviors
        • Event To Command Behavior
        • Touch Behavior
      • Content Controls
        • Activity Indicator
        • Application Info
        • Avatar
        • Bible Audio
        • Bible Browser
        • Bible Reader
        • Campus Context Picker
          • Camera Code Reader
        • Cards
          • Block Card
          • Contained Card
          • Inline Card
          • Elements of a Card
          • Masks
          • Styling Cards With CSS
        • Context Menu
        • Countdown
        • Cover Sheet
        • Divider
        • Expander
        • Field Container
        • Flip View
        • Following Icon
        • Geo Boundary View
        • HTML
        • Icon
        • Icon Button
        • Image
        • Interaction
        • Items Collection
        • Login Status
        • Login Status Photo
        • Lottie View
        • Markdown
        • Media Player
          • Legacy
        • Notification Box
        • Paragraph Text
        • QR Code
        • Ratio View
        • Redirect
        • Responsive Column
        • Responsive Layout
        • Scroll View
        • Segment Picker
        • Styled Border
        • Styled View
        • Tag
        • Toggle Button
        • Web View
      • Developer Controls
        • Execute Command
        • Bible Book And Chapter Picker
        • Command Reference
        • Field Stack
        • Media Cast Button
        • Media Progress Bar
        • Parameter
        • Scan Code
        • Validator
        • Volume Control
        • Zone
      • Effects
        • Blur Effect
        • Safe Area Padding Effect
      • Form Fields
        • Attribute Value Editor
        • Address
        • Campus Picker
        • Check Box
        • Check Box List
        • Currency Box
        • Date Picker
        • Email Box
        • Literal
        • Marital Status Picker
        • Multi Picker
        • Number Box
        • Phone Number Box
        • Picker
        • Text Box
        • Text Editor
      • XAML Extensions
        • Boolean Value Converter
        • From Json
        • Inverse Boolean Converter
        • Nullable Guid Converter
        • On Device Platform
        • On Device Type
        • Palette Color
        • Seconds To Time String Converter
    • Field Types
    • Lava
      • Context in Lava
    • Performance
    • Tips and Tricks
      • Custom Site Attributes
      • Migrating to .NET MAUI (V6)
      • Page Anchors
    • Troubleshooting
    • Advanced Topics
      • Dynamic Content
      • Deep Linking
  • 🎨Styling
    • Introduction
    • Style Guide
      • Walkthrough
      • Colors
      • Typography
      • Utilities
      • Shell Components
      • Migrating
    • Legacy
      • Colors
      • Borders
        • Border Color
        • Border Radius
        • Border Width
      • Text
        • Background Color
        • Text Size
        • Alignment
        • Color
        • Line Height
        • Weights & Styles
      • iOS Shadows
      • Styling Components
        • Tags
        • Bible
        • Button
        • Form Fields
        • Modals
      • Custom CSS
  • 👨‍💻Developers
    • Fundamentals
    • Core & Shell Dependencies
    • Custom Blocks
    • OS Version Requirements
  • 🏭App Factory
    • Overview
    • Android Keystore
    • App Store Product Page
    • Developer Accounts
    • Image Resources
    • In-App Giving
    • Publishing Requirements
    • Push Notifications
    • Rock Logins
    • Shell Update Requirements
Powered by GitBook

Resources

  • Release Notes
  • Community Chat
  • Ask Chip

Documentation

  • Rock Manuals
  • Lava

⚙️ Powered by Rock RMS

On this page
  • Creating Fences
  • Using Points and PointRadius
  • Properties
  • Point Syntax
  • Fence Syntax
Export as PDF
  1. Essentials
  2. Controls
  3. Content Controls

Geo Boundary View

Display content based on whether or not a person is within a geofence.

Last updated 1 month ago

Inherits from

Creating Fences

Don't let the words mislead you - creating a geofence isn't hard! All a geofence really is comprised of is a list of points (latitude and longitude) that connect at different areas.

Using Points and PointRadius

You can provide any number of singular points with a PointRadius to create perfect circle geo-fences around that point.

For example, take the point (31.7058, 35.2007) (the latitude/longitude of Bethlehem) and supply it with a 2-kilometer PointRadius.

<Rock:GeoBoundaryView x:Name="GeoBoundary"
    Points="31.7058,35.2007"
    PointRadius="2">
    <Rock:GeoBoundaryView.InBoundary>
        <Label Text="You're really in Bethlehem? Cool!" />
    </Rock:GeoBoundaryView.InBoundary>
    <Rock:GeoBoundaryView.OutOfBoundary>
        <StackLayout Spacing="0">
            <Label Text="The closest Geographical Boundary is:" />
            <Label Text="{Binding ClosestGeoFence, Source={x:Reference GeoBoundary}}" />
        </StackLayout>
    </Rock:GeoBoundaryView.OutOfBoundary>
</Rock:GeoBoundaryView>

Results in a 2km radius circle around Bethlehem:

Properties

Property
Type
Description

Points

string

Represents the coordinates or reference points within the geofence.

Fences

string

Defines the polygons or boundaries for geofencing.

PointRadius

int

If provided with a singular point, this amount of distance (in kilometers) will be applied to the point to create a geofence.

DisableLocationPermissionRequest

bool

Should you prefer not to have this request potentially seek permissions, you can deactivate the permission prompt. (defaults to false).

InBoundary

View

Content to display when the location is within the specified boundaries.

OutOfBoundary

View

Content to display when the location is outside the specified boundaries.

PermissionNotRequested

View

Content to display when the location permission has not been requested. Only shown if AlwaysRequestLocation is false.

NoPermission

View

Content to display when the location permission is not granted.

Error

View

Content to display in case of any error related to geofencing or location permissions.

GeolocationCheckInterval

int

The amount of time (in milliseconds) to wait in between re-checking the person's geolocation to see if they're within a fence. Defaults to 15000 (15 seconds).

ClosestGeoFence

string

The key of the closest geofence.

ClosestGeoFenceDistance

double

The distance(km) to the closest geo fence. Will be negative if you're inside of it.

Point Syntax

Latitude and longitude should be comma delimited, while points are pipe | delimited. For example:

31.7,35.2|33,36

This would result in two separate points. The first point is the latitude and the second point is the longitude.

To supply a key, simply prepend the point with Key=.

FirstPoint=31.7,35.2|SecondPoint=33,36

Fence Syntax

Fences are comprised of points, and delimited by a caret ^. For example, here is a singular geofence around the Cardinals stadium:

33.5281,-112.2645|33.5281,-112.2630|33.5270,-112.2630|33.5270,-112.2645

And now let's add one around the Phoenix Suns court:

33.5281,-112.2645|33.5281,-112.2630|33.5270,-112.2630|33.5270,-112.2645^ 33.4460,-112.0712|33.4460,-112.0697|33.4449,-112.0697|33.4449,-112.0712

To supply a key, simply prepend the point with Key=.

Cardinals=33.5281,-112.2645|33.5281,-112.2630|33.5270,-112.2630|33.5270,-112.2645^Suns=33.4460,-112.0712|33.4460,-112.0697|33.4449,-112.0697|33.4449,-112.0712

You can provide multiple points () to create multiple geo-fences.

When you're supplying the property, you can specify a key for each point that you want to recognize. That key of the closest geofence is stored in the property.

When you're supplying the property, you can specify a key for each point that you want to recognize. That key of the closest geofence is stored in the property.

🧱
syntax
Points
ClosestGeoFence
Fences
ClosestGeoFence
Xamarin.Forms.ContentView