A Taxonomy of Indoor and Outdoor Positioning Techniques for Mobile Location Services