Android 谷歌地图标记可点击区域
我用这个例子: 我的问题是,可点击区域比标记本身更宽。例如,我的谷歌地图标记是25x25,那么可点击区域将扩展到70x70。这是重叠标记的一个大问题 当我点击箭头的顶端时,onTap被激活,即使点击区域远离标记 请帮帮我。谢谢。调试: 尝试对视图使用,您可以为给定的Android 谷歌地图标记可点击区域,android,google-maps,Android,Google Maps,我用这个例子: 我的问题是,可点击区域比标记本身更宽。例如,我的谷歌地图标记是25x25,那么可点击区域将扩展到70x70。这是重叠标记的一个大问题 当我点击箭头的顶端时,onTap被激活,即使点击区域远离标记 请帮帮我。谢谢。调试: 尝试对视图使用,您可以为给定的视图指定Touch rect 演示如何使用TouchDelegate的示例: public class TouchDelegateSample extends Activity { Button mButton; @Ove
视图指定Touch rect
演示如何使用TouchDelegate
的示例:
public class TouchDelegateSample extends Activity {
Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.touch_delegate_view);
mButton = (Button)findViewById(R.id.delegated_button);
View parent = findViewById(R.id.touch_delegate_root);
// post a runnable to the parent view's message queue so its run
after
// the view is drawn
parent.post(new Runnable() {
@Override
public void run() {
Rect delegateArea = new Rect();
Button delegate = TouchDelegateSample.this.mButton;
delegate.getHitRect(delegateArea);
delegateArea.top -= 200;
TouchDelegate expandedArea = new TouchDelegate(delegateArea,
delegate);
// give the delegate to an ancestor of the view we're
delegating the
// area to
if (View.class.isInstance(delegate.getParent())) {
((View)delegate.getParent()).setTouchDelegate(expandedArea);
}
}
});
}
}
查看给定的生命点是否在物品标记的范围内。重写以修改项目命中测试的方式。命中点相对于标记的边界。默认实现只是检查命中点是否在标记的可触摸范围内
这是
ItemizedOverlay
的默认行为。25x25像素对于大多数人类手指来说通常不是一个合适的可触摸区域
如果要修改覆盖项命中的测试方式,应该重写
hitTest()
方法。要进行调试,可以调用View.getHitRect()
。我想会有帮助的谢谢你的答复。。标记不是视图,而是覆盖项。请检查MyItemizedOverlay.java。谢谢。MyItemizedOverlayItem
extendsballooditemizedoverlay
,这就是你可以覆盖的地方。你能举个命中测试的例子吗?你解决过这个问题吗?在HTML版本中,我只看到自定义标记图像的问题,而不是默认标记图像的问题