correcting geolocation update logic

also adding "lock position" and "update position" features