【发布时间】:2020-08-26 14:31:24
【问题描述】:
我正在尝试使用我的颤振谷歌地图将我的所有标记显示到视口中。但它似乎不适用于我的情况。到目前为止,我已经尝试过:
_controller.animateCamera(CameraUpdate.newLatLngBounds(
LatLngBounds(
southwest: LatLng(23.785182, 90.330702),
northeast: LatLng(24.582782, 88.821163),
),
100
));
LatLngBounds boundsFromLatLngList(List<LatLng> list) {
assert(list.isNotEmpty);
double x0, x1, y0, y1;
for (LatLng latLng in list) {
if (x0 == null) {
x0 = x1 = latLng.latitude;
y0 = y1 = latLng.longitude;
} else {
if (latLng.latitude > x1) x1 = latLng.latitude;
if (latLng.latitude < x0) x0 = latLng.latitude;
if (latLng.longitude > y1) y1 = latLng.longitude;
if (latLng.longitude < y0) y0 = latLng.longitude;
}
}
return LatLngBounds(northeast: LatLng(x1, y1), southwest: LatLng(x0, y0));
}
正如我所见,它总是显示北大西洋的地图 有没有关于这个问题的解决方案,或者它刚刚在 Flutter 中开发?提前致谢
【问题讨论】:
-
我也有同样的问题。在 iOS 上它工作正常,但在 android 上 CameraUpdate.newLatLngBounds 总是缩小到最大并显示海洋中部。无论您作为坐标传递什么。
-
@ZigmārsDzērve 我在 android 上遇到了完全相同的问题,iOS 似乎工作正常。您是否设法找到解决方法?
-
@ChinmayDabke 是的,但它仅适用于 Android。我计算了我的点之间的中心位置,然后计算了缩放级别,并做了正常的正常 _controller.animateCamera(u2);当缩放级别和中心位置已知时。这是一项不必要的工作,但它可以解决谷歌地图目前存在的问题。