【问题标题】:How to trigger an event when google map marker is dropped at a certain location on screen?当谷歌地图标记放在屏幕上的某个位置时如何触发事件?
【发布时间】:2016-12-26 14:55:28
【问题描述】:

谷歌地图标记可以在屏幕上拖动,所以我想知道是否有办法在标记被放置在屏幕上的某个位置时触发事件,比如左下角。

【问题讨论】:

标签: android google-maps events drag-and-drop marker


【解决方案1】:

在布局创建和地图初始化后,在 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   
             }
        }
    });
}

【讨论】:

  • 不是位置,我指的是屏幕位置 (x,y) 坐标,正如我在屏幕左下角提到的那样
【解决方案2】:

我认为标记不会自动删除。它们由您的代码处理。例如,您可以在地图点击或地图长按上添加标记。获取该事件并尝试修复

【讨论】:

  • 它可以通过设置.draggable(true) 使其可拖动我想知道如何根据它在屏幕上的位置触发一个事件,就像我问过的那样
  • 在这种情况下你可以Try This
猜你喜欢
  • 2017-08-08
  • 2017-07-12
  • 1970-01-01
  • 2013-09-03
  • 1970-01-01
  • 2011-08-15
  • 2011-01-03
  • 2018-01-30
  • 2011-03-08
相关资源
最近更新 更多