我正在尝试实现一项功能,如果您沿地图拖动它会尝试将其与之前定义的点匹配。在我的Touch Listener中,我试图与LatLng点进行比较。但是,我的日志都没有打印出匹配的内容。你能不能比较ACTION_MOVE
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
Point x_y_points = new Point(Math.round(x), Math.round(y));
LatLng dragPoint = map.getProjection().fromScreenLocation(x_y_points);
int eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_MOVE:
for (int i = 0; i < markers.size(); ++i) {
LatLng temp = markers.get(i).getPosition();
if (dragPoint.latitude == temp.latitude && temp.longitude == dragPoint.longitude) {
Toast.makeText(getApplicationContext(), "Match", Toast.LENGTH_SHORT).show();
}
Log.d("Point: ", temp.toString());
if (dragPoint == markers.get(i).getPosition()) {
Log.d("Match: ", "Yes");
}
}
break;
}
return true;
}
答案 0 :(得分:0)
尝试设置onClickListener
以及触控侦听器。它不必在其中完成任何处理,但由于某种原因,ACTION_MOVE
事件只会在您覆盖onClick
函数时触发。
@Override
public void onClick(View v) { }
让我知道这是否适合您!