当前位置:   article > 正文

百度地图根据标注或覆盖物自适应显示地图,根据提供的地理区域或坐标获得最佳的地图视野_flutter百度地图根据提供的地理区域或坐标获得最佳的地图视野

flutter百度地图根据提供的地理区域或坐标获得最佳的地图视野

百度地图根据标注或覆盖物自适应显示地图,根据提供的地理区域或坐标获得最佳的地图视野

起因

项目要求进入地图界面就显示所有的监控目标,然后需要正好一屏自适应显示,网上找了一堆要么就是自己实现,一大堆代码,要么就说的不是同一个东西,最后还是在百度地图的API中找到了对应办法。

1、应用场景

有时候需要正好能一屏显示某些标注或覆盖物而不需要用户再去自己移动,不能过大也不能过小,太小了则无法显示全部的目标,太大了则会如下图,太过空旷,所以这时候就需要根据现实的目标来调整中心点和经纬度了。
在这里插入图片描述

2、实现

使用百度地图的接口:getViewport(view: Array, viewportOptions: ViewportOptions)

    /**
     * @name: 根据点的数组设置合适的地图视野,正好可以显示数组里的所有点的位置
     * @param {Array} pointArr 百度地图点(Point)对象数组
     */
    setMapView (pointArr) {
      // this.map为地图对象
      let mapViewObj = this.map.getViewport(pointArr);
      this.map.centerAndZoom(mapViewObj.center, mapViewObj.zoom)
    },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

getViewport方法返回内容如下。
在这里插入图片描述
效果如下图
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/109714
推荐阅读
相关标签
  

闽ICP备14008679号