好客租房167-绘制房源覆盖物

简介: 好客租房167-绘制房源覆盖物

图片.png

import React from 'react'
// 导入样式
// import './index.scss'
import styles from './index.module.scss'
import NavHeader from '../../components/NavHeader'
// 覆盖物样式
const labelStyle = {
    cursor: 'pointer',
    border: '0px solid rgb(255, 0, 0)',
    padding: '0px',
    whiteSpace: 'nowrap',
    fontSize: '12px',
    color: 'rgb(255, 255, 255)',
    textAlign: 'center'
  }
export default class Map extends React.Component {
  componentDidMount() {
    this.initMap()
  }
  initMap() {
    //获取
    const { label, value } = JSON.parse(localStorage.getItem('hkzf_city'))
    console.log(label, value)
    //创建地址解析器
    const myGeo = new window.BMapGL.Geocoder()
    myGeo.getPoint(
      label,
      (point) => {
        if (point) {
          map.centerAndZoom(point, 11)
          // map.addOverlay(new window.BMapGL.Market(point))
          map.addControl(new window.BMapGL.NavigationControl())
          map.addControl(new window.BMapGL.ScaleControl())
        }
      },
      label
    )
    var map = new window.BMapGL.Map('container') // 创建地图实例
    var point = new window.BMapGL.Point(116.404, 39.915) // 创建点坐标
    map.centerAndZoom(point, 15) // 初始化地图,设置中心点坐标和地图级别
    /* 
            1 创建 Label 实例对象。
            2 调用 setStyle() 方法设置样式。
            3 在 map 对象上调用 addOverlay() 方法,将文本覆盖物添加到地图中。
          */
    const opts = {
      position: point,
      offset: new window.BMapGL.Size(30, -30)
    }
    const labelList = new window.BMapGL.Label('', opts)
         // 设置房源覆盖物内容
         labelList.setContent(`
         <div class="${styles.bubble}">
           <p class="${styles.name}">浦东</p>
           <p>99套</p>
         </div>
       `)
    // 设置样式
    labelList.setStyle({
      color: 'green',
    })
         // 添加单击事件
         labelList.addEventListener('click', () => {
            console.log('房源覆盖物被点击了')
          })
    // 添加覆盖物到地图中
    map.addOverlay(labelList)
  }
  render() {
    return (
      <div className={styles.map}>
        {/* 顶部导航栏组件 */}
        <NavHeader onLeftClick={() => {}}>地图找房</NavHeader>
        <div id="container" className={styles.container}></div>
      </div>
    )
  }
}

运行结果

图片.png

相关文章
|
数据可视化 数据处理 数据格式
ggalluvial|炫酷桑基图(Sankey),你也可以秀
ggalluvial|炫酷桑基图(Sankey),你也可以秀
161 0
|
定位技术
好客租房174-地图找房createReact方法绘制小区覆盖物
好客租房174-地图找房createReact方法绘制小区覆盖物
129 0
好客租房174-地图找房createReact方法绘制小区覆盖物
好客租房169-渲染所有区的覆盖物
好客租房169-渲染所有区的覆盖物
175 0
好客租房169-渲染所有区的覆盖物
|
定位技术
好客租房173-地图找房createCircle方法
好客租房173-地图找房createCircle方法
182 0
好客租房173-地图找房createCircle方法
|
定位技术
好客租房171-地图找房renderOverlays
好客租房171-地图找房renderOverlays
117 0
好客租房171-地图找房renderOverlays
|
定位技术
好客租房164-地图找房导航栏样式调整
好客租房164-地图找房导航栏样式调整
78 0
好客租房164-地图找房导航栏样式调整
好客租房175-获取当前小区被点击房源数据
好客租房175-获取当前小区被点击房源数据
96 0
好客租房175-获取当前小区被点击房源数据
|
定位技术
好客租房170-地图找房的一个封装流程
好客租房170-地图找房的一个封装流程
55 0
好客租房170-地图找房的一个封装流程
好客租房122-租房样式结构
好客租房122-租房样式结构
85 0
好客租房122-租房样式结构
好客租房123-租房数据渲染
好客租房123-租房数据渲染
117 0
好客租房123-租房数据渲染