Automatic speech recognition (ASR) systems used on smartphones or vehicles are usually required to process speechqueries from very different domains. In such situations, avanilla ASR system usually fails to perform well on every do-main. This paper proposes a multi-domain ASR frameworkfor Tencent Map, a navigation app used on smart phones andin-vehicle infotainment systems. The proposed frameworkconsists of three core parts: a basic ASR module to generaten-best lists of a speech query, a text classification moduleto determine which domain the speech query belongs to,and a reranking module to rescore n-best lists using domain-specific language models. In addition, an instance samplingbased method to training neural network language models(NNLMs) is proposed to address the data imbalance problemin multi-domain ASR. In experiments, the proposed frame-work was evaluated on navigation domain and music domain,since navigating and playing music are two main features ofTencent Map. Compared to a general ASR system, the pro-posed framework achieves a relative 13% ∼ 22% charactererror rate reduction on several test sets collected from TencentMap and our in-car voice assistant.