【发布时间】:2020-07-09 15:28:26
【问题描述】:
在google map我有一个半径圆。通过点击按钮可以使这个圆圈变得越来越小。
我的代码不能正常工作,因为一旦我把圆圈变大,缩放就会越来越近。一旦我把圆圈变小,它就会进一步缩小。
然后按钮调用这个函数:
void addRadiusToMap(radius, location) {
setState(() {
double reciprocal(double d) => 1 * d;
circle.clear();
circle.add(Circle(
circleId: CircleId("1"),
center: location,
radius: reciprocal(radius.toDouble()),
strokeWidth: 2,
fillColor: Color.fromARGB(102, 51, 153, 5)
));
mapController.animateCamera(CameraUpdate.newCameraPosition(
CameraPosition(target: location, zoom: radius/71)));
});
}
在此规则控制放大和缩小之后:
mapController.animateCamera(CameraUpdate.newCameraPosition(
CameraPosition(target: location, zoom: radius/71)));
在这里,我将半径除以 71 以获得正常的缩放数字,但是一旦半径变大,答案就会变大并且缩放将被放大。有人对此有不同的解决方案吗?
【问题讨论】:
-
更大的缩放距离更近(0 是整个世界),您希望在减小圆的半径时增加缩放级别。最好放大到圆圈的边界。
标签: google-maps flutter