leaflet marker显示全代码(geoJson)

本文详细介绍了如何在Vue项目中利用Leaflet库解析并显示GeoJSON数据,创建Marker点,包括引入依赖、设置地图、加载GeoJSON数据以及Marker的样式配置等关键步骤。
摘要由CSDN通过智能技术生成
<template>
  <div class="airMoniMap1">
    <div class="mapClass" id="mapid">
    </div>
    <!-- 标题时间显示 -->
    <div class="airMoniTitle">
      <p>空气质量实测信息</p>
      <p>{
  {selectedTimeTitle}}</p>
    </div>
    <!-- 地图view视图区域选择 -->
    <div class="mapView" >
      <a-radio-group :defaultValue="mapViewArr[0].code" buttonStyle="solid"  @change="mapViewChange">
        <a-radio-button :value="item.code" :class="item.code == cityName?'hover mapViewli':'mapViewli'" v-for="(item) in mapViewArr" :key="item.code">{
  {item.name}}</a-radio-button>
      </a-radio-group>
    </div>
    <!-- 污染物类型 -->
    <div class="airQuality" >
      <a-radio-group  :defaultValue="airArr[0].code" buttonStyle="solid" @change="airChange">
        <a-radio-button :value="item.code" :class="item.code == airType?'hover airQualityli':'airQualityli'" v-for="(item) in airArr" :key="item.code"><span v-html="item.name"></span> </a-radio-button>
      </a-radio-group>
    </div>
    <!-- 污染物严重指标 -->
    <div class="aqiColorBar" >
      <ul>
        <li>优</li>
        <li>良</li>
        <li>轻度</li>
        <li>中度</li>
        <li>重度</li>
        <li>严重</li>
      </ul>
    </div>
    <!-- 背景气象选择 -->
    <div class="metField">
      <a-radio-group  :defaultValue="metTypeArr[0].code" buttonStyle="solid" @change="metTypeChange" >
        <a-radio-button :value="item.code" :class="item.code == metType?'hover metFieldli':'metFieldli'"
                        v-for="(item) in metTypeArr" :key="item.code">{
  {item.name}}</a-radio-button>
      </a-radio-group>
    </div>
    <!--  高度选择-->
    <div class="metLevelType">
      <a-radio-group  :defaultValue="levelTypeArr[4].code" buttonStyle="solid" @change="levelTypeChange" v-if="levelTypeVisible" >
        <a-radio-button :value="item.code" :class="item.code == levelType?'hover metLevelTypeli':'metLevelTypeli'"
                        v-for="(item) in levelTypeArr" :key="item.code">{
  {item.name}}</a-radio-button>
      </a-radio-group>
    </div>
    <!-- 气象图例单位及各项数据指标颜色 -->
    <div class="metColorBar">
      <ul>
        <li style="background:#fff;color:#000;">{
  {colorBarUnit}}</li>
        <li :style="{'background': 'rgb('+ item.intervalColors +')'}" v-for="(item,i) in colorBarArr"  :key="i" >{
  {item.intervalName}}</li>
      </ul>
    </div>
    <!-- 时间轴 -->
    <transverseTime @timeChange="timeLineChange"  :initDate="initDate" :initSelectedTime="initSelectedTime"
                    :timeType="timeType" :timeLength="7" style="bottom:0;width: calc(100% - 212px);"/>

  </div>

</template>

<script>
import {getGfsData, getColorBar, getGeojsonByName, getGfsImage} from "@api/gfsData";
import {getAllCityAirMoniListOnChina,getAllSiteAirMoniListOnChina,getChinaMoniDataTime} from '@api/observe'
import littleBarEchart from "@comp/echart/littleBarEchart";
import mapSourceEchart from "@comp/echart/mapSourceEchart";
import Explain from '@comp/ImgBox/Explain'
import {dateAdd,getDateYMD,getDateYMDHMS,getDateYMDH_CN,stringToDate} from '@utils/date'
import {getPollLevelColor, getPollLevelTextColor} from "@utils/aqi";
import transverseTime from '@comp/timeLine/transverseTime';

var map;
var cityLayer;
var siteLayer;
export default {
  name: "airMoniMap1",
  components:{
    transverseTime,
    Explain,
    littleBarEchart,
    //mapSourceEchart
  },
  created() {
    this.searchDate = getDateYMDHMS(new Date());//当前时间 'yyyyMMddhhmmss'
    this.initDate = getDateYMD(dateAdd(new Date(),'d',-6),'-');//时间轴,初始日期,格式:yyyy-MM-dd
    this.getLastTime();
  },
  data(){
    return{
      centerpoint:[35.717, 112.6333],//地图初始中心点
      zoomlevel:5,//地图初始zoom
      baseLayer:null,//背景底图
      ima
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值