echarts加载区域地图并标注点的简单步骤

 更新时间:2024年09月28日 13:49:49   作者:kang5789  
这篇文章提供了南海区域地图加载以及气象站点标注的详细步骤,首先通过DataV.GeoAtlas地理小工具下载南海区域的JSON地图文件,接着使用Echarts进行地图的展示,可以选择是否显示省下所有市的名字,需要的朋友可以参考下

效果如下,加载了南海区域的地图,并标注几个气象站点;

1、下载区域地图的JSON:DataV.GeoAtlas地理小工具系列

新建nanhai.json,把下载的JSON数据放进来

说明:如果第二步不打勾,只显示省的名字,

如果打勾的话,会显示省下所有市的名字,看个人需求

如果要把多个省放在一起展示,则把多个JSON文件里的features数据合并即可

2、使用Echarts展示地图

<!--地图-->
<div ref="chartRef" class="chart"/>

<script setup>
import {ref, onMounted} from 'vue'
import * as echarts from 'echarts'
import nanhaiJson from '@/assets/map/nanhai.json'

//地图json数据: https://datav.aliyun.com/portal/school/atlas/area_selector
const chartRef = ref()
const formRef = ref()
let myChart = null;
const stationData = ref([])

//加载数据
onMounted(() => {
	//加载南海地图
	echarts.registerMap('nanhai', nanhaiJson)
	loadData()
})


const loadData = () => {
	xxApi.xxPage().then((data) => {
		if (data && data.total > 0) {
			stationData.value = []
//拼接地图上需要标注的点			
data.records.forEach((item) => {
				stationData.value.push(
					{
						name: item.name,
						value: [item.longitude, item.latitude]
					}
				)
			})
		}
		loadChart()
	})

}

//加载图表
const loadChart = () => {
	// 如果实例已经存在,则先销毁再重新创建
	if (myChart != null && myChart.dispose) {
		myChart.dispose();
	}
	myChart = echarts.init(chartRef.value)
	myChart.showLoading({text: 'loading'})

	let option = {
		geo: {
			map: 'nanhai',
			zoom: 1.2,//缩放比例
			roam: true, // 是否允许缩放和平移
			itemStyle: {
				areaColor: 'lightskyblue',
				borderColor: '#404a59'
			},
			label: {
				show: true
			},
		},
		//气象站点列表
		series: [{
			type: 'scatter',
			coordinateSystem: 'geo',
			data: stationData.value,
			symbolSize: 10,
			label: {
				show: true,
				formatter: function (params) {
					return params.name; // 显示点的name
				},
				position: 'top', // 或其他位置
				color: '#FF4500' // 设置标签字体颜色为红色
			},
			itemStyle: {
				normal: {
					color: '#FFA500' // 设置为橘黄色
				}
			},
		}]
	}

	myChart.hideLoading()
	myChart.setOption(option)
	// 自适应屏幕
	window.addEventListener('resize', function () {
		myChart.resize()
	})
}

</script>

<style scoped>
.chart {
	height: 550px;
}

.detail-chart {
	height: 100%;
	overflow: auto;
}

</style>

OK,大功搞定!!!

到此这篇关于echarts加载区域地图并标注点的文章就介绍到这了,更多相关echarts加载区域地图标注点内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于JavaScript实现添加到购物车效果附源码下载

    基于JavaScript实现添加到购物车效果附源码下载

    这篇文章主要介绍了基于JavaScript实现添加到购物车效果附源码下载的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • 判断是否是IE6版本并给出提示升级浏览器

    判断是否是IE6版本并给出提示升级浏览器

    一个与浏览器有关的脚本 ,也是大家从事WEb前端编程常见的编程技巧,就是判断浏览器的版本,如果发现版本不符合你的设计要求,就给出提示升级浏览器,这样你的网页会更有体验。
    2010-06-06
  • JS去除字符串两端空格的简单实例

    JS去除字符串两端空格的简单实例

    本篇文章主要是对JS去除字符串两端空格的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • Promise.all中对于reject的处理方法

    Promise.all中对于reject的处理方法

    这篇文章主要介绍了Promise.all中对于reject的处理方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • PHP7新特性简述

    PHP7新特性简述

    本文通过实例给大家介绍了PHP7新特性的相关知识,需要的朋友参考下吧
    2017-06-06
  • iframe的基本介绍与使用

    iframe的基本介绍与使用

    本文将给大家详细介绍一下iframe的基本介绍与使用,iframe(内嵌框架)是 HTML 中一种用于将一个网页嵌入到另一个网页中的标签,它可以在一个页面中显示来自其他页面的内容,需要的朋友可以参考下
    2024-02-02
  • TypeScript入门之利用装饰器扩展代码能力

    TypeScript入门之利用装饰器扩展代码能力

    在 TypeScript 中,装饰器是一种特殊的声明,可以让你的代码更有趣、更灵活,下面小编就来带大家学习一下TypeScript中装饰器的具体使用吧
    2023-06-06
  • 用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法

    用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法

    下面小编就为大家带来一篇用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • 微信小程序实现收货地址左滑删除

    微信小程序实现收货地址左滑删除

    这篇文章主要为大家详细介绍了微信小程序实现收货地址左滑删除,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • javascript实现当前页导航激活的方法

    javascript实现当前页导航激活的方法

    这篇文章主要介绍了javascript实现当前页导航激活的方法,涉及javascript操作css的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02

最新评论