react 之 openlayer地图鹰眼

一、引入依赖文件

import React, { Component } from 'react';
import Map from '../../component/map/map';
import {OverviewMap} from 'ol/control.js';
import OSM from 'ol/source/OSM';
import TileLayer from 'ol/layer/Tile';

二、加载地图组件

render() {
    return (
      <div>
        <Map ref="map" center={{ lon: 113.8, lat: 34.6 }}  />;
      </div>
    );
  }

三、创建鹰眼对象并和地图对象关联

    let {map} = this.refs.map

     var scaleLineControl = new OverviewMap({
        //鹰眼控件样式(see in overviewmap-custom.html to see the custom CSS used)
        className: 'ol-overviewmap ol-custom-overviewmap',
        //鹰眼中加载同坐标系下不同数据源的图层
        layers: [ new TileLayer({
            source: new OSM(),
          })],
        //鹰眼控件展开时功能按钮上的标识(网页的JS的字符编码)
        collapseLabel: '\u00BB',
        //鹰眼控件折叠时功能按钮上的标识(网页的JS的字符编码)
        label: '\u00AB',
        //初始为展开显示方式
        collapsed: false
    });
    map.addControl(scaleLineControl)

四、全部代码

import React, { Component } from 'react';
import Map from '../../component/map/map';

import {OverviewMap} from 'ol/control.js';
import OSM from 'ol/source/OSM';
import TileLayer from 'ol/layer/Tile';

class MapOverviewMap extends Component {
    constructor(props){
        super(props)
        this.state = {
            x:0,
            y:0
        }
    }
  componentDidMount() {
    let {map} = this.refs.map

    var scaleLineControl = new OverviewMap({
        //鹰眼控件样式(see in overviewmap-custom.html to see the custom CSS used)
        className: 'ol-overviewmap ol-custom-overviewmap',
        //鹰眼中加载同坐标系下不同数据源的图层
        layers: [ new TileLayer({
            source: new OSM(),
          })],
        //鹰眼控件展开时功能按钮上的标识(网页的JS的字符编码)
        collapseLabel: '\u00BB',
        //鹰眼控件折叠时功能按钮上的标识(网页的JS的字符编码)
        label: '\u00AB',
        //初始为展开显示方式
        collapsed: false
    });
    map.addControl(scaleLineControl)

  }

  render() {
    return (
      <div>
        <Map ref="map" center={{ lon: 113.8, lat: 34.6 }}  />;
      </div>
    );
  }
}

export default MapOverviewMap;

 

 五、效果图

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值