VUE 下钻到街道的echarts地图——geoJson

下钻到街道的echarts地图

	在echarts中有自带的geojson文件但是只有到县级,县级以下的街道是没有的

在这里插入图片描述
此时我们需要利用其他工具自己来写一个geojson

  1. 下载一个地图软件(这里以水经微图为例)
    在左侧选择你需要的街道(或者乡镇)然后点击下载
    在这里插入图片描述
    选择你需要的地图大小
    在这里插入图片描述
    下载完成后会弹出文件目录,其中的.kml文件是我们需要的
    在这里插入图片描述

  2. 利用转换工具将.kml文件转为geojson
    这里转换工具为http://geojson.io/
    打开网站后直接将刚刚下载的.kml拖入 或者通过 Open -> File 上传下载好的 .kml文件,拖入后我们可以看到地图和边上的代码
    在这里插入图片描述

  3. echarts使用geojson
    将地图右侧的代码复制,自己新建一个.json文件将右侧代码复制,下面是具体的使用代码

<template>
	<div class="map" style="width: 100%;height: 100%;">
		<ECharts :id="map" :option="option"></ECharts>
	</div>
</template>


<script>
	import echarts from 'echarts';
	import cixi from '../../../../../assets/styles/cixi.json'
	export default {
		data() {
			return {
				option: {},
				mapDate: [],
				map: 'map'
			}
		},
		methods: {
			initChart() {
				this.echartObj = echarts.init(document.getElementById(this.map));
				echarts.registerMap("慈溪市", cixi)
				this.mapDate = [{
						name: '宗汉街道',
						value: [121.2197971343994, 30.228963070192805]
					},
					{
						name: '逍林镇',
						value: [121.33137702941895, 30.202558756342],
					},
					{
						name: '周巷镇',
						value: [121.13800048828125, 30.204190689021736],
					},
					{
						name: '观海卫镇',
						value: [121.42433166503905, 30.158189498907962],
					},
					{
						name: '庵东镇',
						value: [121.2022018432617, 30.36724717325868],
					},
					{
						name: '白沙路街道',
						value: [121.29678726196288, 30.197959527771424]
					},
					{
						name: '长河镇',
						value: [121.18520736694336, 30.258474107402265]
					},
					{
						name: '崇寿镇',
						value: [121.2743854522705, 30.27582067991502]
					}, {
						name: '慈东工业区',
						value: [121.5808868408203, 30.136665442339027]
					},
					{
						name: '附海镇',
						value: [121.42639160156249, 30.239641453517258]
					},
					{
						name: '古塘街道',
						value: [121.26339912414552, 30.203745619156013]
					},
					{
						name: '横河镇',
						value: [121.24443054199219, 30.131766208006642]
					},
					{
						name: '浒山街道',
						value: [121.2399673461914, 30.172808334126877]
					},
					{
						name: '坎墩街道',
						value: [121.26846313476561, 30.24727875221182]
					},
					{
						name: '匡堰镇',
						value: [121.31841659545897, 30.135626231134587]
					},
					{
						name: '慈溪市林场',
						value: [121.35262012481688, 30.093306199954938]
					},
					{
						name: '龙山镇',
						value: [121.52166366577147, 30.11127586646626]
					},
					{
						name: '慈溪市农垦场',
						value: [121.11791610717772, 30.277599642253957]
					},
					{
						name: '桥头镇',
						value: [121.36390686035155, 30.181044387831786]
					},
					{
						name: '胜山镇',
						value: [121.31747245788574, 30.24890994296491]
					},
					{
						name: '新浦镇',
						value: [121.41952514648438, 30.30027858504304]
					},
					{
						name: '掌起镇',
						value: [121.48029327392577, 30.13978301029758]
					}

				];
				this.option = {
					backgroundColor: '#02093300',
					title: {
						top: 20,
						subtext: '',
						x: 'center',
						textStyle: {
							color: '#ccc'
						}
					},
					geo: {
						map: '慈溪市',
						aspectScale: 0.7, //长宽比
						zoom: 1.3,
						roam: false,
						itemStyle: {
							normal: {
								areaColor: '#013C6200',
								shadowColor: '#182f6800',
								shadowOffsetX: 0,
								shadowOffsetY: 25
							},
							emphasis: {
								areaColor: '#2AB8FF00',
								borderWidth: 0,
								color: 'green',
								label: {
									show: false
								}
							}
						}
					},
					series: [{
							type: 'map',
							roam: true,
							label: {
								normal: {
									show: true,
									textStyle: {
										color: '#fff'
									}
								},
								emphasis: {
									textStyle: {
										color: '#fff'
									}
								}
							},

							itemStyle: {
								normal: {
									borderColor: '#2ab8ff',
									borderWidth: 1.5,
									areaColor: '#12235c'
								},
								emphasis: {
									areaColor: '#2AB8FF',
									borderWidth: 0,
									color: 'green'
								}
							},
							zoom: 1.3,
							roam: false,
							map: '慈溪市' //使用
							// data: this.difficultData //热力图数据   不同区域 不同的底色
						},
						{
							type: 'effectScatter',
							coordinateSystem: 'geo',
							showEffectOn: 'render',
							rippleEffect: {
								period: 15,
								scale: 4,
								brushType: 'fill'
							},
							hoverAnimation: true,
							itemStyle: {
								normal: {
									color: '#ffff',
									shadowBlur: 10,
									shadowColor: '#333'
								}
							},
							data: this.mapDate
						}

					]
				};

			}

		},
		mounted() {
			this.initChart();
		},
	}
</script>


<style>
</style>

在地图右侧的代码中features是地图边界线经纬度,如果有多个乡镇,只需重复上述步骤(第一个乡镇地图右侧代码全部复制,后面的只需要features里的数据),格式如下图所示在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3中实现echarts地图三级的方法如下: 1. 首先,导入所需的地图数据和echarts库。 ```javascript import cityMap from "../../../assets/map/china-main-city-map.js"; import echarts from "echarts"; ``` 2. 在Vue组件的方法中,创建一个函数来渲染echarts地图,并实现地图的功能。 ```javascript methods: { renderMap() { // 创建echarts实例 const chart = echarts.init(document.getElementById("map-container")); // 地图配置项 const options = { series: [ { type: "map", map: "china", label: { show: true, }, data: [ { name: "北京", value: 100 }, { name: "上海", value: 200 }, // 其他省市数据... ], emphasis: { label: { show: true, }, }, }, ], }; // 地图点击事件 chart.on("click", (params) => { const { name } = params; // 判断是否有下级地图数据 if (cityMap[name]) { // 清空原有的地图实例 chart.clear(); // 设置下级地图配置项 options.series<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【vue】Echarts3D地图](https://blog.csdn.net/m0_68324632/article/details/130133913)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [echarts地图省市区三级下联动](https://download.csdn.net/download/u013254183/12309294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [详解vue中使用echarts地图实现上的可视化 三级下 省>市>县](https://blog.csdn.net/weixin_45419441/article/details/108385368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值