<1>GeoPoint
表示一个地理坐标点,存放经度和纬度,以微度的整数形式存储。
方法 |
---|
GeoPoint(int latitudeE6, int longitudeE6)
|
方法介绍:
public int getLatitudeE6()
返回GeoPoint的纬度,单位微度
public int getLongitudeE6()
返回GeoPoint的经度,单位微度
public void setLatitudeE6(int latitudeE6)
设置GeoPoint的纬度,单位微度
public void setLongitudeE6(int longitudeE6)
设置GeoPoint的经度,单位微度
<2>接口 Projection
该接口用来在屏幕像素x/y坐标系和地球经纬度坐标系之间进行转换,通过 MapView.getProjection() 来取得映射类。-
GeoPoint fromPixels(int x, int y)
- 该方法用给定的像素坐标创建一个新的GeoPoint。 给定的像素点是以MapView的左上角为原点的坐标系统,MapView提供了这个像素转换器(PixelConverter)。
-
参数:
- result - 搜索结果
- iError - 错误号,0表示正确返回
-
Point toPixels(GeoPoint in, Point out)
- 把给定的GeoPoint变换到相对于MapView左上角的屏幕像素坐标。MapView提供了这种投影变换。
-
参数:
- in - 待变换的一对经纬度
- out - 一个用于输出预先存在的对象;如果为空,将返回一个新分配的像素点。
<3>MapController
处理地图移动和缩放的工具类。
返回类型 | 方法 |
---|---|
void | animateTo(GeoPoint point)
|
void | animateTo(GeoPoint point, Message message)
|
boolean | onKey(View v, int keyCode, KeyEvent event)
|
void | scrollBy(int x, int y)
|
void | setCenter(GeoPoint point)
|
int | setZoom(int zoomLevel)
|
void | stopAnimation(boolean jumpToFinish)
|
void | stopPanning()
|
boolean | zoomIn()
|
boolean | zoomInFixing(int xPixel, int yPixel)
|
boolean | zoomOut()
|
boolean | zoomOutFixing(int xPixel, int yPixel)
|
void | zoomToSpan(int latSpanE6, int lonSpanE6)
|
<4>MapView
一个显示地图的视图,当被焦点选中时,它能捕获按键事件和触摸手势去平移和缩放地图。
返回类型 | 方法 |
---|---|
boolean | canCoverCenter()
|
protected boolean | checkLayoutParams (android.view.ViewGroup.LayoutParams p)
|
void | computeScroll()
|
void | displayZoomControls(boolean takeFocus)
|
protected android.view.ViewGroup.LayoutParams | generateDefaultLayoutParams()
|
protected android.view.ViewGroup.LayoutParams | generateLayoutParams(android.view.ViewGroup.LayoutParams p)
|
android.view.ViewGroup.LayoutParams | generateLayoutParams(AttributeSet attrs)
|
MapController | getController()
|
int | getLatitudeSpan()
|
int | getLongitudeSpan()
|
GeoPoint | getMapCenter()
|
int | getMaxZoomLevel()
|
java.util.List<Overlay> | getOverlays()
|
Projection | getProjection()
|
View | getZoomControls()
|
int | getZoomLevel()
|
boolean | isSatellite()
|
boolean | isStreetView()
|
boolean | isTraffic()
|
protected void | onDetachedFromWindow()
|
protected void | onDraw(Canvas canvas)
|
void | onFocusChanged(boolean hasFocus, int direction, Rect previouslyFocusedRect)
|
boolean | onKeyDown(int keyCode, KeyEvent event)
|
boolean | onKeyUp(int keyCode, KeyEvent event)
|
protected void | onLayout(boolean flag, int l, int t, int r, int b)
|
protected void | onMeasure(int widthMeasureSpec, int heightMeasureSpec)
|
void | onRestoreInstanceState(Bundle state)
|
void | onSaveInstanceState(Bundle state)
|
protected void | onSizeChanged(int w, int h, int oldw, int oldh)
|
boolean | onTouchEvent(MotionEvent event)
|
boolean | onTrackballEvent(MotionEvent event)
|
void | onWindowFocusChanged(boolean hasFocus)
|
void | preLoad()
|
void | setDrawOverlayWhenZooming(boolean bDraw)
|
void | setBuiltInZoomControls(boolean on)
|
void | setReticleDrawMode(com.baidu.mapapi.MapView.ReticleDrawMode mode)
|
void | setSatellite(boolean on)
|
void | setStreetView(boolean on)
|
void | setTraffic(boolean on)
|
void | regMapViewListener(BMapManager bmapMan, MKMapViewListener listener)
|
<5>MyLocationOverlay
一个负责显示用户当前位置的Overlay。
Overlay是一个覆盖,它绘制用户当前在地图上的位置(精准度),和/或一个嵌入的指南针。子类能覆盖方法dispatchTap()去处理对当前位置的点击。
为了开启这个overlay的功能,需要去调用enableMyLocation()和/或enableCompass(), 或调用Activity中的Activity.onResume()方法。记住,当在后台是,要在Activity中的Activity.onPause()方法中调用相应的disableMyLocation()和/或disableCompass()关闭这个功能。
Overlay是一个覆盖,它绘制用户当前在地图上的位置(精准度),和/或一个嵌入的指南针。子类能覆盖方法dispatchTap()去处理对当前位置的点击。
为了开启这个overlay的功能,需要去调用enableMyLocation()和/或enableCompass(), 或调用Activity中的Activity.onResume()方法。记住,当在后台是,要在Activity中的Activity.onPause()方法中调用相应的disableMyLocation()和/或disableCompass()关闭这个功能。
返回类型 | 方法 |
---|---|
void | disableCompass()
|
void | disableMyLocation()
|
protected boolean | dispatchTap()
|
boolean | draw(Canvas canvas, MapView mapView, boolean shadow, long when)
|
protected void | drawCompass(android.graphics.Canvas canvas, float bearing)
|
protected void | drawMyLocation(Canvas canvas, MapView mapView, android.location.Location lastFix, GeoPoint myLocation, long when)
|
boolean | enableCompass()
|
boolean | enableMyLocation()
|
Location | getLastFix()
|
GeoPoint | getMyLocation()
|
float | getOrientation()
|
boolean | isCompassEnabled()
|
boolean | isMyLocationEnabled()
|
void | onAccuracyChanged(Sensor sensor, int accuracy)
|
void | onLocationChanged(Location location)
|
void | onProviderDisabled(java.lang.String provider)
|
void | onProviderEnabled(java.lang.String provider)
|
void | onSensorChanged(SensorEvent event)
|
boolean | onSnapToItem(int x, int y, android.graphics.Point snapPoint, MapView mapView)
|
boolean | onTap(GeoPoint p, MapView mapView)
|
boolean | runOnFirstFix(java.lang.Runnable runnable)
|
<6>Overlay
Overlay是一个基类,它表示可以显示在地图上方的覆盖overlay。 添加一个overlay时,从这个基类派生出一个子类,创建一个实例,然后把它加入到一个列表中。这个列表通过调用MapView.getOverlays()得到。为了允许用户触摸去对齐一个点,子类应当实现Overlay.Snappable接口。返回类型 | 方法 |
---|---|
boolean | draw(Canvas canvas, MapView mapView, boolean shadow)
|
boolean | draw(Canvas canvas, MapView mapView, boolean shadow, long when)
|
protected static void | drawAt(Canvas canvas, Drawable drawable, int x, int y, boolean bShadow)
|
boolean | onKeyDown(int keyCode, KeyEvent event, MapView mapView)
|
boolean | onKeyUp(int keyCode, KeyEvent event, MapView mapView)
|
boolean | onTap(GeoPoint p, MapView mapView)
|
boolean | onTouchEvent(MotionEvent e, MapView mapView)
|
boolean | onTrackballEvent(MotionEvent e, MapView mapView)
|