i using location services in unity 3d game. using (slightly modified) script found in unity documentation testing purposes. here script:
using unityengine; using system.collections; public class testlocationservice : monobehaviour { ienumerator start() { // first, check if user has location service enabled if (!input.location.isenabledbyuser) print("no"); yield break; // start service before querying location input.location.start(); // wait until service initializes int maxwait = 20; while (input.location.status == locationservicestatus.initializing && maxwait > 0) { yield return new waitforseconds(1); maxwait--; } // service didn't initialize in 20 seconds if (maxwait < 1) { print("timed out"); yield break; } // connection has failed if (input.location.status == locationservicestatus.failed) { print("unable determine device location"); yield break; } else { // access granted , location value retrieved print("location: " + input.location.lastdata.latitude + " " + input.location.lastdata.longitude + " " + input.location.lastdata.altitude + " " + input.location.lastdata.horizontalaccuracy + " " + input.location.lastdata.timestamp); } // stop service if there no need query location updates continuously input.location.stop(); }
}
when run script, supposed print location. however, thinks location services not enabled (i using windows 10) , prints "no" before stopping. in location settings, have location enabled.
why isn't unity allowed use location?
location access in unity handheld devices only(i.e. mobiles , tablets). cannot use on computer.
unity docs: https://docs.unity3d.com/scriptreference/input-location.html
Comments
Post a Comment