当前位置: 首页 > 知识库问答 >
问题:

在google maps android api v2中设置最大缩放级别

关项明
2023-03-14

我目前正在使用谷歌地图android API v2开发应用程序。我的代码如下。假设地图有几个标记并放大以显示所有标记。

LatLngBuilder.Builder builder = LatLngBounds.builder();
for(Marker m : markers){
    builder.include(m.getPosition());
}
LatLngBounds bounds = builder.build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10);

这段代码工作正常,但我想在缩放级别达到17.0f时停止制作动画;地图API似乎没有这样的方法来控制缩放级别。有人知道解决这个问题的办法吗?

共有3个答案

洪越泽
2023-03-14

来自Android文档:https://developers.google.com/maps/documentation/android-api/views

您可能会发现设置首选的最小和/或最大缩放级别很有用。例如,如果您的应用程序显示兴趣点周围的定义区域,或者如果您使用具有有限缩放级别集的自定义磁贴覆盖,这对于控制用户体验很有用。

private GoogleMap mMap;
// Set a preference for minimum and maximum zoom.
mMap.setMinZoomPreference(6.0f);
mMap.setMaxZoomPreference(14.0f);
宇文元明
2023-03-14

我在Google Maps API中没有找到任何直接的解决方案。这个问题的一个潜在解决方案是监听OnCamaChange事件:每当此事件触发并且缩放级别高于最大缩放级别时,就可以调用AnimateCamera()。生成的代码如下:

@Override
public void onCameraChange(CameraPosition position) {
    float maxZoom = 17.0f;
    if (position.zoom > maxZoom)
        map_.animateCamera(CameraUpdateFactory.zoomTo(maxZoom));
}
阴阳
2023-03-14

Google Maps API的最新更新引入了您需要的功能:

GoogleMap.setMaxZoomPreference()

GoogleMap.setMinZoomPreference()

不过,它仍然不会阻止播放动画。

 类似资料:
  • 我在搜索中没有找到答案,所以有一些答案,但它们对我不起作用。 我在地图上有2个标记,我正在使用LatLngBound生成器,以便让相机缩放到正确的缩放级别以将它们都包括在内。除了一件事之外,一切都如预期的那样工作,当两个标记彼此非常接近时,地图是非常非常缩放的,嗯,这种缩放水平没有任何意义。 有没有办法强制进行一定程度的缩放,之后相机将无法缩放?这样可以避免地图太过放大/缩小。基本上,我使用15.

  • 我正在使用必应地图v8控件。 这里有一个片段: 您可以看到它在桌面上工作,方法是将上面的代码段粘贴到这里并点击run:https://www.bing.com/api/maps/sdk/mapcontrol/isdk/adddefaultpushpin#js 不幸的是,这个游乐场不允许你在移动模式下自定义脚本,当你在游乐场中来回切换chrome到移动时,行为不会重现(我可以通过在自己的应用程序中的

  • 有可能用新的Google Maps API V2更改myLocation的缩放级别吗? 如果您设置了,您就会在地图上找到一个按钮来查找您的位置。 如果你点击它,那么地图就会把你带到你的位置,并把它放大到某个级别。我可以把这个缩放变小还是变大?

  • 我正在使用GWT2.5和GoogleMap Api3。 我有两种情况:1.我有地图的中心,上面有几个标记。2.任何一个县,上面有几个标记。 因此,地图应该适当缩放以适应标记。 有没有办法自动检测缩放级别?

  • 问题内容: using System; using OpenQA.Selenium.IE; using OpenQA.Selenium.Remote; using OpenQA.Selenium; 我正在尝试使用上述代码 在运行我的Selenium脚本时忽略缩放级别和保护模式设置,但是该脚本 在构建解决方案时显示错误。不知道我要去哪里错了。 问题答案: 在使用Selenium 3.x,IEDriv

  • 嗨,我目前正试图在谷歌地图上显示多个点。除了缩放功能外,一切正常。我无法确定如何设置缩放以便显示所有点。如果点很近,代码显示得很好,但如果点很远,代码显示得不好。我到处搜索过,但找不到任何东西。 有什么帮助吗?