仅当缩放高于某个值时才显示markerOptions 的优化而非弃用方式
Posted
技术标签:
【中文标题】仅当缩放高于某个值时才显示markerOptions 的优化而非弃用方式【英文标题】:Optimized and not deprecated way for displaying markerOptions only if zoom is above a value 【发布时间】:2018-08-06 11:17:18 【问题描述】:我只想在缩放比例高于 15 时才显示地图的千位标记。
在这里搜索我找到了这个解决方案,但是如果你显示一千个标记,它已被弃用并且不好,所以我正在寻找更优化的更好解决方案:
Google Maps android - Only show markers below a certain zoom level
List<Marker> list = new ArrayList<>();
list.add([a thousand of markers]);
googleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener()
@Override
public void onCameraChange(CameraPosition cameraPosition)
for(Marker m:list)
m.setVisible(cameraPosition.zoom>15);
);
是否有可能通过优化的解决方案实现这一目标?
【问题讨论】:
【参考方案1】:要使用未弃用的 API 调用,请使用新的 Camera Change Events:
googleMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener()
@Override
public void onCameraIdle()
float zoomLevel = googleMap.getCameraPosition().zoom;
for(Marker m : list)
m.setVisible(zoomLevel > 15);
);
【讨论】:
这是最有效的方法吗?以上是关于仅当缩放高于某个值时才显示markerOptions 的优化而非弃用方式的主要内容,如果未能解决你的问题,请参考以下文章