Android Google Map API的使用(一)

Android中定义了一个名为com.google.android.map的包,其中包含了一系列用于在google map上显示、控制和叠层信息的功能类,以下是该包中最重要的几个类:

1.MapActivity:这个类是用于显示GoogleMap的Activity类,它需要连接底层网络。MapActivity是一个抽象类,任何想要显示MapView的activity都需要派生自MapActivity,并且在其派生类的onCreate()中,都要创建一个MapView实例。

2.MapView:MapView是用于显示地图的View组件。它派生自android.view.ViewGroup。它必须和MapActivity配合使用,而且只能被MapActivity创建,这是因为MapView需要通过后台的线程来连接网络或者文件系统,而这些线程需要有MapActivity来管理。

3.MapController:MapController用于控制地图的移动、缩放等。

4.OverLay:这是一个可显示于地图之上的可绘制的对象。

5.GeoPoint:这是一个包含经纬度位置的对象。

com.mapbar.android.maps

Class MapActivity
java.lang.Object 
     android.content.Context 
         android.content.ContextWrapper  
               android.view.ContextThemeWrapper 
                  android.app.Activity

   

com.mapbar.android.maps.MapActivity

All Implemented Interfaces:
android.content.ComponentCallbacks, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback public abstract class MapActivityextends android.app.Activity

   

MapActivity是一个基类,它使用代码去管理任何一个Activity繁琐的事务,它的责任包括:

  • Activity生命周期管理
  • 在一个MapView后面创建和销毁服务

一个子类应当在onCreate(android.os.Bundle) 创建它自己的MapView, 或使用MapView的构造函数(然后用ViewGroup.addView(View)把它加入到布局视图里),或把这个构造(和Layout)留给Layout XML的inflation.

MapAcitivity并不是Andriod库中标准的Package。为了使用它,你必须在你的AndroidManifest.xml文件中添加下面的XML元素做为application元素的子元素。

每个进程只支持一个MapAcitivity。多个MapActivity同时运行很可能让它们之间的交互变得不可预期。

Fields inherited from class android.app.Activity
DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, FOCUSED_STATE_SET, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK

Fields inherited from class android.content.Context

ACTIVITY_SERVICE, ALARM_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BLUETOOTH_SERVICE, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, INPUT_METHOD_SERVICE, KEYGUARD_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MODE_APPEND, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NOTIFICATION_SERVICE, POWER_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, STATUS_BAR_SERVICE, TELEPHONY_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_SERVICE, WINDOW_SERVICE

  

ConstructorSummary

MapActivity()

Method Summary

protectedbooleanisLocationDisplayed()为了计算的目的,服务器需要知道Activity是否正在显示某种

对终端当前位置基于传感器的估算。

protectedabstractbooleanisRouteDisplayed()为了计算的目的,服务器需要知道你当前是否正在显

示任何一种路线信息,例如一组驾车方向指示。

protectedvoidonCreate(android.os.Bundleicicle)此函数初始化静态工厂类,创建地图对象和交通服

务,但不启动任何线程。

protectedvoidonDestroy()终止所有线程,释放所有资源。

voidonNewIntent(android.content.IntentnewIntent)

protectedvoidonPause()暂停线程例如交通服务,因为我们不想让它永远在后台运行。

protectedvoidonResume()告诉地图去"提前绘制";提前装载和解码,使得第一次绘制

                                                     显得更"原子化"