As mobile crowdsourcing techniques are steering many smart-city and Internet-of-Things applications, a new challenge of signal source localization problem arises, which is to infer the locations of signal sources based on crowdsourced data. It will benefit real-world applications such as WiFi advisory systems by locating WiFi access points and urban noise monitoring systems by locating noise sources. However, crowdsourced data collected from diverse mobile devices are often sparse, fluctuating, and inconsistent. In this paper, we propose a source localization scheme to solve this problem, without the need of prior localization infrastructure or reference (anchor) nodes. We also implement a crowdsourcing WiFi advisory system and conduct real-world experiments to evaluate the performance of the proposed scheme. The results show that our scheme can locate the WiFi access points within a small error of 1 ~ 16 meters, and improve the accuracy of a conventional method by up to 50%.