GPS/HPS- and Wi-Fi Fingerprint- based Location Recognition for Check-In Applications over Smartphones in Cloud-based LBSs