private void OnGPSReceived(GPSLatLong latLong)
        {
            if (this.isInitialized == false)
            {
                this.isInitialized = true;
                this.InitializeMap(latLong);
                return;
            }

            // Keeping tracking of the current LatLong
            this.currentLatLong = latLong;

            // Tell the map service of our new location
            if (this.isMapServiceLoaded)
            {
                this.mapsService.MoveFloatingOrigin(new LatLng(this.currentLatLong.Latitude, this.currentLatLong.Longitude));

                // Checking out if we need to reload maps content
                var lastLoadDistance = GPSUtil.DistanceInMeters(this.lastLoadLatLng, this.currentLatLong);

                if (lastLoadDistance > this.reloadDistanceInMeters)
                {
                    if (this.printDebugOutput)
                    {
                        Debug.Log("GoogleMapsManager Reloading Map");
                    }

                    this.LoadMap();
                }
            }
        }
 private async void OnGPSChanged(GPSLatLong latLong)
 {
     if (this.isInitialized == false || GPSUtil.DistanceInMeters(this.lastUpdateLatLong, latLong) > this.reloadDistanceInMeters)
     {
         this.isInitialized = true;
         await this.UpdateLocation(latLong);
     }
 }
 private bool IsLocationInLoadRange(LBELocation location, GPSLatLong currentLatLong)
 {
     return(GPSUtil.DistanceInMeters(location.LatLong, currentLatLong) < this.loadRadiusInMeters);
 }