One of the most important kinds of queries in spatial network databases (SNDB) to support location-based services (LBS) is the shortest path query. Given an object in a network, e.g. a location of a car on a road network, and a set of objects of interests, e.g. hotels, gas station, car, etc., the k-NN query returns the k nearest neighbors from the query object to interested objects. This paper proposes a k-NN algorithm with a set of index structures to support the situation of moving objects. This algorithm can transform a dynamic problem to a static problem. In this paper we focus on road networks. However, our algorithms do not use any domain specific information, and therefore can be applied to any network. This algorithm's complexity is O(i2log2i), and traditional Dijkstra's complexity is O(i2 (i+n)2).