| With constant improvement of mobile equipment and stronger demand of portability and timeliness, mobile internet becomes the trend of applications and traditional desktop maps develop towards mobile maps. Android maps SDK is the programming interface of LBS (location based service) applications, and it’s one of the key technology in mobile maps. This thesis contributes to the design and implementation of a self-designed android maps SDK, and make the sdk more customizable and more extendable.Map display is a core function of maps sdk, and a method is implemented for displaying map tiles on android devices.This method include how to pull map tiles down from the maps sever and then show it on screen, how to use a cache for accelerating map-loading process, how to handle the overlap of two maps, and how to deal with user’s operations on maps. Besides, a convenient way is provided for user to design the map-view interface, so developers can use some fundamental widgets provided by the sdk or make a new one if wanted.POI search is another important function of maps sdk.This thesis has implemented some basic POI search functions that include location search, surroundings search, and regional search.The sdk also provide kinds of overlays such as iconic, textual and graphic overlays to mark the POIs.Real-time and precise locating is a big advantage of mobile maps.This thesis applies a mixed locating method by combining GPS, Wi-Fi, and GSM locating. In order to make locating more available, an interface is provided for using third-part locating sdk.Offline maps is unavoidable question for mobile maps.This thesis designs and implements a new structured offline map storage scheme.This scheme uses indexes to search map tiles.The scheme is very simple and efficient, and many offline maps functions including encryption, compression, download and update are also implemented with the scheme.Finally, a demo application is used to test on the sdk.The results show that the sdk have a good performance both in functionality and in efficiency, good enough for practical use.Moreover, the sdk shows a remarkable improvement on customizable abilty and extendability when compared with some common maps sdk. |