geolocateservice and function