代码之家  ›  专栏  ›  技术社区  ›  Noban Hasan

我如何在谷歌地图中显示相机位置内的所有标记?

  •  0
  • Noban Hasan  · 技术社区  · 4 年前

    我正试图像这样映射我的手机屏幕。这一观点正在网络上展示。它的摄像机位置覆盖了所有的标记。但在手机上,我用的是谷歌地图。我不能在手机上看到同样的画面。

    enter image description here

    在移动设备上,视图如下所示。我的缩放级别是0。

    enter image description here

    这是我在颤振中的代码

     cameraBounds = CameraTargetBounds(getBounds(bounds));
    

    这是我的地图容器。

                              Container(
                                     width: MediaQuery.of(context).size.width-50,
                                     height: 400,
                                     child:  GoogleMap(
     
                                     zoomControlsEnabled: true,
                                     cameraTargetBounds: cameraBounds,
                                     zoomGesturesEnabled: true,
                                     mapToolbarEnabled: true,
                                     gestureRecognizers: Set()..add(Factory<EagerGestureRecognizer>(() => EagerGestureRecognizer())),
                                     mapType: MapType.normal,
                                     tiltGesturesEnabled: true,
                                     scrollGesturesEnabled: true,
                                     indoorViewEnabled: true,
                                     markers: this.myMarker(),
                                     padding: EdgeInsets.all(20),
                                     initialCameraPosition: _kGooglePlex,
                                     minMaxZoomPreference: MinMaxZoomPreference(0,13),
                                     onMapCreated: (GoogleMapController controller) {
                                        mapController = controller;
                                       _controller.complete(controller);
                                    //  moveCamera();
    
                                     },
                                   ),
                                 )
    

    把记号笔绑起来。

      getBounds(List<LatLng> list) {
    
        //assert(list.isNotEmpty);
        print('Post size :' +list.length.toString());
        double x0, x1, y0, y1;
        if(list.isEmpty){
          return LatLngBounds(northeast: LatLng(0, 0), southwest: LatLng(0, 0));
        }else{
          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));
        }
    
    
      }
    enter code here
    

    我已经试过使用动画摄影机或移动摄影机,但视图总是这样。如何在一个摄像头位置覆盖整个地图标记。请帮帮我。

    0 回复  |  直到 4 年前