Пример #1
0
 private void OnApplicationPause(bool pause)
 {
     if (pause)
     {
         MLLocationStarterKit.Stop();
     }
     else
     {
         #if PLATFORM_LUMIN
         MLLocationStarterKit.Start();
         #endif
     }
 }
Пример #2
0
        /// <summary>
        /// Starts the MLLocation API and polls data if needed.
        /// </summary>
        private void StartupAPI()
        {
            #if PLATFORM_LUMIN
            MLResult result = MLLocationStarterKit.Start();
            if (!result.IsOk)
            {
                Debug.LogError("Error: LocationExample failed to start MLLocation, disabling script.");
                enabled = false;
                return;
            }
            #endif

            GetLocation();
            StartCoroutine(GetFineLocationLoop());
        }
Пример #3
0
        /// <summary>
        /// Polls current location data.
        /// </summary>
        private void GetLocation(bool useFineLocation = false)
        {
            #if PLATFORM_LUMIN
            MLResult result = MLLocationStarterKit.GetLocation(out MLLocation.Location newLocation, useFineLocation);

            if (result.IsOk)
            {
                string formattedString =
                    "{0}:\t<i>{1}</i>\n" +
                    "{2}:\t<i>{3}</i>\n" +
                    "{4}:\t<i>{5}</i>\n" +
                    "{6}:\t<i>{7}</i>\n" +
                    (useFineLocation ? "{8}:\t<i>{9}</i>" : "");

                Text locationText = useFineLocation ? _fineLocationText : _coarseLocationText;

                locationText.text = String.Format(formattedString,
                                                  LocalizeManager.GetString("Latitude"), newLocation.Latitude,
                                                  LocalizeManager.GetString("Longitude"), newLocation.Longitude,
                                                  LocalizeManager.GetString("PostalCode"), newLocation.HasPostalCode ? newLocation.PostalCode : "(unknown)",
                                                  LocalizeManager.GetString("Timestamp"), newLocation.Timestamp,
                                                  LocalizeManager.GetString("Accuracy"), newLocation.Accuracy
                                                  );

                if (!_placedGlobe && !_placedPin)
                {
                    StartCoroutine(PlaceGlobe());
                    PlacePin(MLLocationStarterKit.GetWorldCartesianCoords(newLocation.Latitude, newLocation.Longitude, _globe.GetComponent <SphereCollider>().radius));
                }
            }
            else
            {
                if (result.Result == MLResult.Code.LocationNetworkConnection)
                {
                    locationErrorText = "<color=red>Received network error, please check the network connection and relaunch the application.</color>";
                }
                else
                {
                    locationErrorText = "<color=red>Failed to retrieve location with result: " + result.Result + "</color>";
                }

                MLLocationStarterKit.Stop();
                enabled = false;
                return;
            }
            #endif
        }
Пример #4
0
 void OnDestroy()
 {
     MLLocationStarterKit.Stop();
 }