即使地图视图被移动,onTap 监听器如何在 android 地图视图中工作。实际上我正在根据用户方向旋转地图视图。
我从 sesor 经理那里得到了方位角。
如果角度为 0,则 onTap 可以在 Pin 上正常工作。如果角度改变说 20 onTap 不能完全在 pin 上工作,它会在一段时间后在 pin 旁边工作。
我在里面拍摄了旋转视图,我拍摄了地图视图。现在我在轴承更改后旋转旋转视图。
RotateView 设置方位代码
@Override
protected void dispatchDraw(Canvas canvas) {
canvas.save(Canvas.MATRIX_SAVE_FLAG);
//if mHeading is zero its work otherwise onTap position is changing
canvas.rotate(mHeading, getWidth()/2, getHeight());
mCanvas.delegate = canvas;
super.dispatchDraw(mCanvas);
canvas.restore();
}
覆盖类
public class SonarOverlay1 extends ItemizedOverlay<OverlayItem>
{
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
private Context mContext;
public SonarOverlay1(Drawable defaultMarker,Context context) {
super(boundCenter(defaultMarker));
this.mContext=context;
populate();
}
@Override
protected OverlayItem createItem(int arg0) {
return mOverlays.get(arg0);
}
public void addOverlay(OverlayItem item) {
mOverlays.add(item);
populate();
}
@Override
public int size() {
//Log.e("overlay size..",""+mOverlays.size());
return mOverlays.size();
}
@Override
protected boolean onTap(int index) {
// TODO Auto-generated method stub
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
}