zoukankan      html  css  js  c++  java
  • Openlayers 地图定位到相应位置并缩放

    说明:

    在地图操作中,有个功能,需要点击一个点,将视图定位到点击点的位置,并放大。

    解决方案:

    1、可以有openlayers中可以有ol.View来控制,但是在更改时,会将地图初始化时设置的maxZoom,minZoom等覆盖掉,因此需要在设置新的view前,重新设置一次初始化时的值,避免重复覆盖。

        /**
         * @description 地图定位中心并缩放事件
         * @param {Map} _map 地图对象
         * @param {Feature} _feature 要定位的要素
         * @param {Number} _zoomLevel 缩放层级
         */
        this.zoomAndCenter = function (_map, _feature, _zoomLevel) {
            var my_view = new ol.View({
                center: ol.extent.getCenter(_feature.getGeometry().getExtent()),//格式:[x,y]
                zoom: _zoomLevel,
                minZoom: _map.encmap.getView().getMinZoom(),
                maxZoom: _map.encmap.getView().getMaxZoom()
            });
            _map.encmap.setView(my_view);
        };

    2、单独设置中心和缩放,推荐!

    let view = _map.encmap.getView();
    view.setZoom(_zoomLevel);
    view.setCenter(ol.extent.getCenter(_feature.getGeometry().getExtent()));
  • 相关阅读:
    springboot中jpa+lombok
    slf4j管理日志,info和error分开存储,每天一个日志文件
    redis内存策略
    redis持久化策略
    Json与对象之间的转化
    Json--01
    缓存中应注意的问题
    面试中的数据库如何优化?
    公司中服务器部署步骤
    Nginx故障迁移
  • 原文地址:https://www.cnblogs.com/giser-s/p/11497678.html
Copyright © 2011-2022 走看看