好客租房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

相关文章
|
数据采集 文字识别 测试技术
智源研究院发布千万级多模态指令数据集Infinity-MM:驱动开源模型迈向SOTA性能
近年来,视觉语言模型(VLM)取得了显著进展,然而,现有的开源数据和指令数据集在数量和质量上依然落后,基于开源数据训练的模型在效果上仍然远落后于 SOTA 闭源模型或使用专有数据训练的开源模型。为解决以上问题,进一步提升开源模型的性能,2024年10月25日,智源研究院发布并开源了千万级多模态指令数据集Infinity-MM。
|
消息中间件 JavaScript 小程序
SpringBoot 使用线程池如何控制主线程和子线程的事务
SpringBoot 使用线程池如何控制主线程和子线程的事务
|
机器学习/深度学习 传感器 算法
【SVM回归预测】基于支持向量机的数据回归预测(libsvm)附matlab代码
【SVM回归预测】基于支持向量机的数据回归预测(libsvm)附matlab代码
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
238 0
服务器linux!!!
|
缓存 运维 监控
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
|
缓存 Ubuntu 应用服务中间件
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
|
Ubuntu 应用服务中间件 nginx
Docker入门指南:从基础到实践
在当今软件开发领域,Docker已经成为一种不可或缺的工具。通过将应用程序及其依赖项打包成轻量级的容器,Docker实现了开发、测试和部署的高度一致性。本文将深入研究Docker的基本概念,并通过详细的示例代码演示如何应用这些概念于实际场景中。
|
消息中间件 JSON 资源调度
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
51732 4
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
|
C语言
C语言实现青蛙跳台阶问题【图解】
C语言实现青蛙跳台阶问题,两种思考方向
|
存储 机器学习/深度学习 弹性计算
阿里云服务器全方位介绍(产品优势、应用场景、使用须知等)
阿里云服务器全方位介绍(产品优势、应用场景、使用须知等)
395 0