Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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

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 如何根据Google Maps v2上的缩放级别使标记显示或消失_Android_Google Maps_Zooming_Google Maps Markers_Android Maps V2 - Fatal编程技术网

Android 如何根据Google Maps v2上的缩放级别使标记显示或消失

Android 如何根据Google Maps v2上的缩放级别使标记显示或消失,android,google-maps,zooming,google-maps-markers,android-maps-v2,Android,Google Maps,Zooming,Google Maps Markers,Android Maps V2,我们都知道,谷歌地图上的一些预定义地标并没有在较低的缩放级别上显示,但在较高的缩放级别上,它会突然出现。我想知道我是否可以使自定义标记不在较低的缩放级别上显示,然后在较高的缩放级别上显示 编辑:这是我的代码片段。 // Changing marker icon marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.gasbig)); // adding marker map.addMarker(marker)

我们都知道,谷歌地图上的一些预定义地标并没有在较低的缩放级别上显示,但在较高的缩放级别上,它会突然出现。我想知道我是否可以使自定义标记不在较低的缩放级别上显示,然后在较高的缩放级别上显示

编辑:这是我的代码片段。

 // Changing marker icon
   marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.gasbig));


   // adding marker
  map.addMarker(marker);

  //position on Center

  CameraPosition cameraPosition = new CameraPosition.Builder().target(
          new LatLng(14.635356, 121.03272914)).zoom(16).build();

  map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

  map.setOnCameraChangeListener(new OnCameraChangeListener() {

        @Override
        public void onCameraChange(CameraPosition arg0) {
            if(arg0.zoom > 7){
                marker.visible(true);

            }


        }
    });
我尝试了MaciejGórski的建议,但标记仍然出现在所有缩放级别上。关于这个问题我很抱歉,我还是一个android新手


提前感谢。

您可以将我的答案修改为:

否则,使用可能是一个不错的选择。但对你的具体需求没有经验


刚意识到我可能误解了这个问题。我以为你指的是你自己的马克笔。不过,请看一下扩展库。很可能是他们有一些有用的东西。

你可以通过修改我的答案来实现:

否则,使用可能是一个不错的选择。但对你的具体需求没有经验


刚意识到我可能误解了这个问题。我以为你指的是你自己的马克笔。不过,请看一下扩展库。很可能他们有一些有用的东西。

你可以为任何你想要的
标记做这件事:调用
setVisible
OnCameraChangeListener.onCameraChange
回调
true
false
取决于
CameraPosition.zoom

问题编辑后编辑:

您需要保留对
标记
的引用,而不是
标记选项

// adding marker
marker = map.addMarker(markerOptions);
然后在
标记上调用
setVisible

    @Override
    public void onCameraChange(CameraPosition cameraPosition) {
        marker.setVisible(cameraPosition.zoom > 7);
    }

注意:
setVisible
始终在此处调用,但是,当使用许多
标记时,这可能不是最佳选择。

您可以对任何
标记执行此操作:在
onCamerachengeListener.onCameraChange中调用
setVisible
,根据
CameraPosition.zoom
值调用
true
false

问题编辑后编辑:

您需要保留对
标记
的引用,而不是
标记选项

// adding marker
marker = map.addMarker(markerOptions);
然后在
标记上调用
setVisible

    @Override
    public void onCameraChange(CameraPosition cameraPosition) {
        marker.setVisible(cameraPosition.zoom > 7);
    }


注意:
setVisible
始终在那里调用,但当使用许多
标记时,这可能不是最佳选择。

Extensions lib无法做到这一点,但在较低的缩放级别上隐藏标记时,这可能是一个很好的选择,你想让他们分组,并且在任何缩放级别上都可以轻松访问。就我所知,米格尔想要这样的东西。嗨@MaciejGórski你有一些关于android MarkerManager的教程或代码吗?我找不到。@MiguelRivera我不知道是否有这样的教程。Extensions lib还不能做到这一点,但如果您不想在较低的缩放级别上隐藏标记,而是希望它们在任何缩放级别上都可以分组并易于访问,那么它可能是一个很好的选择。就我所知,它似乎可以从:Miguel,想要像.Hi@MaciejGórski这样的东西。你有一些关于android MarkerManager的教程或代码吗?我找不到。@MiguelRivera我不知道是否有这样的教程。我只是添加了一段代码。我只是添加了一段代码。为什么“markerOptions”是marker上的一个参数?我以为markerOptions是一种变量类型。@MiguelRivera
markerOptions
是一种类型,
markerOptions
可能是一个变量名。哦,好的。抱歉,先生。logcat说我在这一行有一个空指针异常“marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.gasbig));“我有一个名为gasbig的图像为什么“markerOptions”是marker上的一个参数?我以为markerOptions是一种变量类型。@MiguelRivera
markerOptions
是一种类型,
markerOptions
可能是一个变量名。哦,好的。很抱歉,先生。logcat说我在这行上有一个空指针异常“marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.gasbig));”我有一个名为gasbig的图像