|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Objectcom.baidu.mapapi.Overlay
com.baidu.mapapi.ItemizedOverlay<Item>
public abstract class ItemizedOverlay<Item extends OverlayItem>
ItemizedOverlay是Overlay的一个基类,包含了一个OverlayItem列表。 从南到北的处理item,用于绘制、创建平移边界、为每个点绘制标记点,和维护一个焦点选中的item,同时也负责把一个屏幕点击匹配到item上去,分发焦点改变事件给备选的监听器。
嵌套类摘要 | |
---|---|
static interface |
ItemizedOverlay.OnFocusChangeListener
这个接口用于对item焦点变化感兴趣的监听器。 |
从类 com.baidu.mapapi.Overlay 继承的嵌套类/接口 |
---|
Overlay.Snappable |
字段摘要 |
---|
从类 com.baidu.mapapi.Overlay 继承的字段 |
---|
SHADOW_X_SKEW, SHADOW_Y_SCALE |
构造方法摘要 | |
---|---|
ItemizedOverlay(Drawable defaultMarker)
创建一个新的ItemizedOverlay |
方法摘要 | |
---|---|
protected static Drawable |
boundCenter(Drawable balloon)
调整一个drawable边界,使得(0,0)是这个drawable中心的中心点 |
protected static Drawable |
boundCenterBottom(Drawable balloon)
调整一个drawable边界,使得(0,0)是这个drawable底部最后一行中心的一个像素 |
protected abstract Item |
createItem(int i)
子类通过该方法创建实体item。 |
void |
draw(Canvas canvas,
MapView mapView,
boolean shadow)
在每个item上绘制一个标记点。 |
GeoPoint |
getCenter()
默认情况下,返回第一个item的坐标点。 |
Item |
getFocus()
|
protected int |
getIndexToDraw(int drawingOrder)
返回给定索引对应item的序号。 |
Item |
getItem(int position)
|
int |
getLastFocusedIndex()
|
int |
getLatSpanE6()
|
int |
getLonSpanE6()
|
protected boolean |
hitTest(OverlayItem item,
Drawable marker,
int hitX,
int hitY)
检查给定的点击测试点是否在一个item标记点范围内。 |
Item |
nextFocus(boolean forwards)
返回给定方向上下一个将要被焦点选中的item,如果已经到了行尾,返回null。 |
boolean |
onKeyUp(int keyCode,
android.view.KeyEvent event,
MapView mapView)
处理一个按键放开事件。 |
boolean |
onSnapToItem(int x,
int y,
Point snapPoint,
MapView mapView)
检验给定的(x,y)是否足够接近引起当前动作(例如缩放)的item。 |
boolean |
onTap(GeoPoint p,
MapView mapView)
处理一个点击事件。 |
protected boolean |
onTap(int index)
覆盖这个方法去处理一个item上的点击事件。 |
boolean |
onTouchEvent(android.view.MotionEvent event,
MapView mapView)
处理一个触摸事件。 |
boolean |
onTrackballEvent(android.view.MotionEvent event,
MapView mapView)
处理一个跟踪球事件。 |
protected void |
populate()
在一个新ItemizedOverlay上执行所有操作的工具方法。 |
void |
setDrawFocusedItem(boolean drawFocusedItem)
设置是否绘制焦点选中的item。 |
void |
setFocus(Item item)
如果给定的item存在overlay中,强制其为焦点选中。 |
protected void |
setLastFocusedIndex(int i)
设置最近(或当前)焦点选中的item的索引,如果没有item被选中则设置为-1。 |
void |
setOnFocusChangeListener(ItemizedOverlay.OnFocusChangeListener l)
|
abstract int |
size()
Overlay中item的数量。 |
从类 com.baidu.mapapi.Overlay 继承的方法 |
---|
draw, drawAt, onKeyDown |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public ItemizedOverlay(Drawable defaultMarker)
defaultMarker
- item默认显示在地图上的的Drawable,为了正确绘制标记点,需要给它添加边界,例如boundCenterBottom(marker))方法详细信息 |
---|
protected static Drawable boundCenterBottom(Drawable balloon)
balloon
- 待调整的drawable
protected static Drawable boundCenter(Drawable balloon)
balloon
- 待调整的drawable
protected abstract Item createItem(int i)
public abstract int size()
public GeoPoint getCenter()
protected int getIndexToDraw(int drawingOrder)
public void draw(Canvas canvas, MapView mapView, boolean shadow)
对应Overlay中的每个item,标记点都要被绘制两次,一次是在绘制阴影阶段,然后是在非阴影阶段。标记点的底中部将和item的地理坐标对齐
通过覆盖方法getIndexToDraw(int),绘制的顺序可能会改变。一个item可能通过方法OverlayItem.getMarker(int)获得另外一个标记点。如果那个方法返回null,那么使用默认的标记点
焦点选中的item总是最后一个绘制,然后放置在其它item之上达到可见
Overlay
中的 draw
canvas
- 待绘制的画布。注意,这个画布或许已经被实施了某种变换,所以保留其原样mapView
- 请求绘制的MapView。使用MapView.getProjection()在屏幕坐标和经纬度对之间做变换shadow
- 如果为true,绘制阴影层。如果为false, 绘制overlay的内容public int getLatSpanE6()
public int getLonSpanE6()
protected final void populate()
protected void setLastFocusedIndex(int i)
public void setFocus(Item item)
public Item getFocus()
public final int getLastFocusedIndex()
public final Item getItem(int position)
public Item nextFocus(boolean forwards)
public boolean onTap(GeoPoint p, MapView mapView)
Overlay
中的 onTap
p
- 点击的位置点mapView
- 产生点击事件的MapView
public boolean onTrackballEvent(android.view.MotionEvent event, MapView mapView)
Overlay
中的 onTrackballEvent
event
- 动作事件mapView
- 产生跟踪球事件的MapView
public boolean onKeyUp(int keyCode, android.view.KeyEvent event, MapView mapView)
Overlay
中的 onKeyUp
keyCode
- 键码值event
- 按键事件mapView
- 产生按键事件的MapView
public boolean onTouchEvent(android.view.MotionEvent event, MapView mapView)
Overlay
中的 onTouchEvent
event
- 触摸事件mapView
- 产生按键事件的MapView
protected boolean hitTest(OverlayItem item, Drawable marker, int hitX, int hitY)
item
- 进行点击测试的itemmarker
- item的标记点hitX
- 测试点的x坐标hitY
- 测试点的y坐标
public void setOnFocusChangeListener(ItemizedOverlay.OnFocusChangeListener l)
public void setDrawFocusedItem(boolean drawFocusedItem)
protected boolean onTap(int index)
public boolean onSnapToItem(int x, int y, Point snapPoint, MapView mapView)
Overlay.Snappable
中的 onSnapToItem
x
- 屏幕x坐标y
- 屏幕y坐标snapPoint
- 用距离给定点(x,y)最近的兴趣点(屏幕坐标)填充。如果没有点击,则不可触摸mapView
- 请求点击的MapView。 使用MapView.getProjection()在屏幕像素和经纬度对之间变换
|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |