gav*_*hat 5 flutter google-maps-flutter
我想根据圆的半径缩放谷歌地图缩放级别。从技术上讲,我希望用户以最佳缩放级别在地图上看到圆圈。我试图获得边界并调整相机位置,但圆没有任何这样的边界参数..
GoogleMap(
onMapCreated: (GoogleMapController controller) {
controller.showMarkerInfoWindow(MarkerId("0"));
},
circles: Set.from([
Circle(
circleId: CircleId("0"),
center: LatLng(...),
radius: 1000,
)
]),
initialCameraPosition: CameraPosition(
target: LatLng(..),
**zoom: 15, // I want to scale zoom based on radius of circle.**
),
markers: {
Marker(
markerId: MarkerId("0"),
position: LatLng(..),
infoWindow: InfoWindow(title: ...)
)
},
),
),
Run Code Online (Sandbox Code Playgroud)
提前致谢。
gav*_*hat 10
经过一番搜索,在这里找到了一个解决方案,该解决方案是用 java 编写的 android 应用程序。
dart/flutter 代码如下:
double getZoomLevel(double radius) {
double zoomLevel = 11;
if (radius > 0) {
double radiusElevated = radius + radius / 2;
double scale = radiusElevated / 500;
zoomLevel = 16 - log(scale) / log(2);
}
zoomLevel = num.parse(zoomLevel.toStringAsFixed(2));
return zoomLevel;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2694 次 |
| 最近记录: |