android - 如何根据 Places API 的返回结果相应地缩放 Google map ?

标签 android google-maps google-places-api

我目前正在尝试实现流畅的缩放动画,Google map 具有这种效果,例如,如果用户搜索城市, map 缩放得足够大,因此他可以看到整个城市,如果他搜索国家变焦更大。我目前已经达到获取 Place 对象及其 LatLng 数据的地步,但还没有找到一种方法来为给定的搜索正确缩放。

据我所知,应该通过向 RectangularBounds 对象提供西南点和东北点并将其设置为 map 来完成,但还没有找到使用 Android API 实现此目的的方法

最佳答案

你应该使用 Place.getViewport()方法来自 Places SDK for Android获取适合显示大小的视口(viewport) ( LatLngBounds ),然后在 animateCamera() 中使用它或 moveCamera()方法。类似的东西:

// get place from places API response
Place place = places.get(0);

int padding = 0; // padding  in pixels
LatLngBounds = bounds place.getViewport();
if (bounds != null) {
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, padding);
    googleMap.animateCamera(cameraUpdate);
}

关于android - 如何根据 Places API 的返回结果相应地缩放 Google map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59444153/

相关文章:

java - 意外收到 NoClassDefFoundError

javascript - angularjs 谷歌放置自动完成功能在本地不起作用

android - 如何在android 2.2上摇晃

google-maps - flutter 谷歌地图 : How can you change maptype after runtime?

google-maps - 在哪里可以找到所有 google maps v3 事件列表?

php - 使用谷歌地图作为背景?

google-maps - 具有位置偏差的 Google Places API 返回单个远距离结果

google-maps - Google Places API : Place Details limited to 5 Reviews

安卓:网络服务

java - 无法在我的代码中访问 DatePicker.ValidationCallback