Location data play an important role in location-based services (LBS) since they can help a service provider analyze users' daily activities and further derive users' behavioral patterns. However, in the meanwhile the use of the location data in LBS can also enable the service provider to track users' journeys which will reveal their personal information, such as house address and places of interest they visited, all of which users are usually unwilling to disclose. Therefore, security and privacy incidents can and do occur often. In this paper, aiming at how to hide location privacy and meanwhile provide an accurate search for LBS, we design a new geometric searchable encryption scheme under a public-key system (a.k.a. asymmetric system) for different types of geometric range queries, which enables the service provider to respond to the range queries from users accurately without learning the information about users' location. Towards this goal, we first exploit a novel encoding, and then develop some sophisticated transformations in combination with a special pairing function, which eventually converts different types of geometric range queries in LBS into different inner product problems. Finally, we present our construction by virtue of the techniques above with the inner product encryption technique. In addition, a comprehensive experimental analysis running on a specific application of privacy-preserving LBS and comparison demonstrate, our proposal is able to guarantee a higher accuracy for users' range queries without any false positive, and meanwhile express richer queries. Furthermore, we show another application of our proposal to privacy-preserving remote medical diagnosis at the end of this paper.