【发布时间】:2016-12-26 14:55:28
【问题描述】:
谷歌地图标记可以在屏幕上拖动,所以我想知道是否有办法在标记被放置在屏幕上的某个位置时触发事件,比如左下角。
【问题讨论】:
标签: android google-maps events drag-and-drop marker
谷歌地图标记可以在屏幕上拖动,所以我想知道是否有办法在标记被放置在屏幕上的某个位置时触发事件,比如左下角。
【问题讨论】:
标签: android google-maps events drag-and-drop marker
在布局创建和地图初始化后,在 onCreate(); 中添加以下代码
View mapView = getSupportFragmentManager().findFragmentById(R.id.map).getView();
if (mapView.getViewTreeObserver().isAlive()) {
mapView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mapView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(CENTER, 15));
Point markerScreenPosition = map.getProjection().toScreenLocation(marker.getPosition());
int x = markerScreenPosition.getX();
int y = markerScreenPosition.getY();
if(x == yourValue && y == yourValue){
//your trigger code goes here
}
}
});
}
【讨论】:
我认为标记不会自动删除。它们由您的代码处理。例如,您可以在地图点击或地图长按上添加标记。获取该事件并尝试修复
【讨论】:
.draggable(true) 使其可拖动我想知道如何根据它在屏幕上的位置触发一个事件,就像我问过的那样