Location-based services are becoming more and more popular in mobile online social networks(mOSNs) for smart cities, but users' privacy also has aroused wide concern, such as locations, friend sets and other private information. At present, many protocols have been proposed, but these protocols are inefficient and ignore some security risks. In the paper, we present a new location sharing protocol, which solves these two issues by using symmetric/asymmetric encryption properly. We adopt the following methods to reduce the communication and computation costs: only setting up one location server; connecting social network server and location server directly instead of through cellular towers; avoiding broadcast encryption. We introduce dummy identities to protect users' identity privacy, and prevent locationserver from inferring users' activity tracks by updating dummy identities in time. The details of security and performance analysis with the related protocols show that our protocol enjoys two advantages: (1) it's more efficient than the related protocols, which greatly reduces the computation and communication costs; (2) it satisfies all security goals, however, most previous protocols only meet some security goals.