Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当谷歌地图标记被放置在屏幕上的某个位置时,如何触发事件?_Android_Google Maps_Events_Drag And Drop_Marker - Fatal编程技术网

Android 当谷歌地图标记被放置在屏幕上的某个位置时,如何触发事件?

Android 当谷歌地图标记被放置在屏幕上的某个位置时,如何触发事件?,android,google-maps,events,drag-and-drop,marker,Android,Google Maps,Events,Drag And Drop,Marker,谷歌地图标记可以在屏幕上拖动,所以我想知道当标记被放置在屏幕上的某个位置时,是否有方法触发事件,比如说,左下角。我认为标记不会自动放置。它们由您的代码处理。例如,您可以在地图单击或地图长单击时添加标记。获取该事件,并在创建布局并初始化映射后尝试修复,在onCreate()中添加以下代码 按位置勾选否我指的是我提到的屏幕位置(x,y)坐标,如屏幕左下角。通过设置,可以拖动。拖动(true)我想知道如何根据事件在屏幕上的位置触发事件,如我问的那样,在这种情况下,您可以 View mapVie

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

我认为标记不会自动放置。它们由您的代码处理。例如,您可以在地图单击或地图长单击时添加标记。获取该事件,并在创建布局并初始化映射后尝试修复

,在onCreate()中添加以下代码


按位置勾选否我指的是我提到的屏幕位置(x,y)坐标,如屏幕左下角。通过设置
,可以拖动。拖动(true)
我想知道如何根据事件在屏幕上的位置触发事件,如我问的那样,在这种情况下,您可以
    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   
             }
        }
    });
}