<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>mesibo Location APIs - Secure Location Synchronization, Sharing, and Search on mesibo documentation</title><link>https://docs.mesibo.com/api/secure-location/</link><description>Recent content in mesibo Location APIs - Secure Location Synchronization, Sharing, and Search on mesibo documentation</description><generator>Hugo</generator><language>en</language><atom:link href="https://docs.mesibo.com/api/secure-location/index.xml" rel="self" type="application/rss+xml"/><item><title>Accessing and Subscribing to Locations</title><link>https://docs.mesibo.com/api/secure-location/accessing-and-subscribing-user-location/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/secure-location/accessing-and-subscribing-user-location/</guid><description>&lt;p&gt;You can use the &lt;code&gt;MesiboProfile.location()&lt;/code&gt; API to access the locations of other users and groups, subject to the access level granted. The &lt;code&gt;MesiboProfile.location()&lt;/code&gt; API returns a &lt;code&gt;MesiboProfileLocation&lt;/code&gt; object, which can be used to access various location information, subscribe to location updates, and more.&lt;/p&gt;









&lt;ul class="nav nav-tabs" role="tablist"&gt;
 
 &lt;li class="nav-item" role="presentation"&gt;
 &lt;button
 class="nav-link active"
 id="tab-platform1-0-java"
 data-bs-toggle="tab"
 data-bs-target="#tabpane-platform1-0-java"
 type="button"
 role="tab"
 aria-controls="tabpane-platform1-0-java"
 aria-selected="true"
 data-tab-group="platform1"
 data-tab-name="Java"
 &gt;Java&lt;/button&gt;
 &lt;/li&gt;
 
 &lt;li class="nav-item" role="presentation"&gt;
 &lt;button
 class="nav-link"
 id="tab-platform1-0-kotlin"
 data-bs-toggle="tab"
 data-bs-target="#tabpane-platform1-0-kotlin"
 type="button"
 role="tab"
 aria-controls="tabpane-platform1-0-kotlin"
 aria-selected="false"
 data-tab-group="platform1"
 data-tab-name="Kotlin"
 &gt;Kotlin&lt;/button&gt;
 &lt;/li&gt;
 
 &lt;li class="nav-item" role="presentation"&gt;
 &lt;button
 class="nav-link"
 id="tab-platform1-0-swift"
 data-bs-toggle="tab"
 data-bs-target="#tabpane-platform1-0-swift"
 type="button"
 role="tab"
 aria-controls="tabpane-platform1-0-swift"
 aria-selected="false"
 data-tab-group="platform1"
 data-tab-name="Swift"
 &gt;Swift&lt;/button&gt;
 &lt;/li&gt;
 
 &lt;li class="nav-item" role="presentation"&gt;
 &lt;button
 class="nav-link"
 id="tab-platform1-0-objective-c"
 data-bs-toggle="tab"
 data-bs-target="#tabpane-platform1-0-objective-c"
 type="button"
 role="tab"
 aria-controls="tabpane-platform1-0-objective-c"
 aria-selected="false"
 data-tab-group="platform1"
 data-tab-name="Objective-C"
 &gt;Objective-C&lt;/button&gt;
 &lt;/li&gt;
 
 &lt;li class="nav-item" role="presentation"&gt;
 &lt;button
 class="nav-link"
 id="tab-platform1-0-flutter"
 data-bs-toggle="tab"
 data-bs-target="#tabpane-platform1-0-flutter"
 type="button"
 role="tab"
 aria-controls="tabpane-platform1-0-flutter"
 aria-selected="false"
 data-tab-group="platform1"
 data-tab-name="Flutter"
 &gt;Flutter&lt;/button&gt;
 &lt;/li&gt;
 
&lt;/ul&gt;
&lt;div class="tab-content"&gt;
 
 &lt;div
 class="tab-pane fade show active"
 id="tabpane-platform1-0-java"
 role="tabpanel"
 aria-labelledby="tab-platform1-0-java"
 &gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboProfileLocation&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;profileLocation&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;location&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboLocation&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;profileLocation&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;div
 class="tab-pane fade"
 id="tabpane-platform1-0-kotlin"
 role="tabpanel"
 aria-labelledby="tab-platform1-0-kotlin"
 &gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-kotlin" data-lang="kotlin"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;val&lt;/span&gt; &lt;span class="py"&gt;profileLocation&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;val&lt;/span&gt; &lt;span class="py"&gt;location&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;MesiboLocation&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;profileLocation&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;get&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;div
 class="tab-pane fade"
 id="tabpane-platform1-0-swift"
 role="tabpanel"
 aria-labelledby="tab-platform1-0-swift"
 &gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-swift" data-lang="swift"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nv"&gt;profileLocation&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nv"&gt;location&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;profileLocation&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kr"&gt;get&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;div
 class="tab-pane fade"
 id="tabpane-platform1-0-objective-c"
 role="tabpanel"
 aria-labelledby="tab-platform1-0-objective-c"
 &gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-objc" data-lang="objc"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboProfileLocation&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;profileLocation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt; &lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboLocation&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;profileLocation&lt;/span&gt; &lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 
 &lt;div
 class="tab-pane fade"
 id="tabpane-platform1-0-flutter"
 role="tabpanel"
 aria-labelledby="tab-platform1-0-flutter"
 &gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-dart" data-lang="dart"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboProfileLocation&lt;/span&gt; &lt;span class="n"&gt;profileLocation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboLocation&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="n"&gt;loc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;await&lt;/span&gt; &lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;as&lt;/span&gt; &lt;span class="n"&gt;MesiboLocation&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 
&lt;/div&gt;



&lt;p&gt;If the location is available, the mesibo API will return it immediately. If not, it will return &lt;code&gt;null&lt;/code&gt; and then request the location from the server. Upon receiving the location from the server, &lt;code&gt;Mesibo_onLocationReceived&lt;/code&gt; will be called with the profile. You can then call the &lt;code&gt;get()&lt;/code&gt; API again to obtain the location. In case the server does not have the location or the location has expired, &lt;code&gt;Mesibo_onLocationError&lt;/code&gt; will be called.&lt;/p&gt;</description></item><item><title>Searching Users and Groups Based on Location</title><link>https://docs.mesibo.com/api/secure-location/searching-users-and-groups/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/secure-location/searching-users-and-groups/</guid><description>&lt;p&gt;The mesibo location search APIs allow you to search for other users and groups based on location, distance, location age, and more. Your users can search based on the current or a custom location. To implement location search feature in your app, you need to follow these two steps:&lt;/p&gt;
&lt;h3 id="step-1---implement-mesibo-profile-search-listener"&gt;Step 1 - Implement Mesibo Profile Search Listener&lt;a class="td-heading-self-link" href="#step-1---implement-mesibo-profile-search-listener" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;You need to implement the &lt;code&gt;MesiboProfileSearchListener&lt;/code&gt; interface to receive profile search results. The following are listener functions:&lt;/p&gt;</description></item></channel></rss>