针对接收信号强度(RSS)的波动性、易受干扰等特征,在匹配算法时易被较远处参考点所干扰,导致定位结果偏差较大,提出了一种基于聚类结果的指纹定位算法。与传统的按参考点处信号强度进行聚类不同,采取了利用K-means++算法按参考点位置聚类的方法。在聚类的结果上,选择RSS均值最大的M个AP,使用有监督的学习算法KNN对测试点进行分类,再用确定性的匹配算法加权K最近邻居法来计算位置坐标。实验结果表明:所提方法在定位性能上比按信号强度聚类的方法有较大提高。