echarts 地图自定义图标_echarts 使用 百度地图 加入自定义图标标记
首先先上效果图,静态图(PS.制作动图还在学习中~):
地图上的文字未展示,根据经纬度标记图,循环展示每个标记点的数据~
一.如何引入百度地图
申请百度开发秘钥AK
http://lbsyun.baidu.com/apiconsole/key
在vue的index.html里加入
添加Echarts依赖
npm install echarts --save
在对应的地图组件中引入echarts
import echarts from "echarts/lib/echarts";
import 'echarts/extension/bmap/bmap' //百度地图
接下来可以编写实现代码啦~
二.实现自定义标记
var data = [
{name: '盐城', value: 9},
{name: '日照', value: 12},
{name: '青岛', value: 12},
{name: '鄂尔多斯', value: 9},
{name: '招远', value: 12},
{name: '舟山', value: 12},
{name: '金昌', value: 9},
{name: '云浮', value: 12},
{name: '南通', value: 12},
];
var geoCoordMap = {
'海门':[121.15,31.89],
'鄂尔多斯':[109.781327,39.608266],
'招远':[120.38,37.35],
'舟山':[122.207216,29.985295],
'齐齐哈尔':[123.97,47.33],
'盐城':[120.13,33.38],
'赤峰':[118.87,42.28],
'青岛':[120.33,36.07],
'乳山':[121.52,36.89],
'金昌':[102.188043,38.520089],
'泉州':[118.58,24.93],
'莱西':[120.53,36.86],
'日照':[119.46,35.42],
'胶南':[119.97,35.88],
'南通':[121.05,32.08],
'拉萨':[91.11,29.97],
'云浮':[112.02,22.93],
'梅州':[116.1,24.55],
'文登':[122.05,37.2],
'上海':[121.48,31.22],
'攀枝花':[101.718637,26.582347],
'威海':[122.1,37.5],
'承德':[117.93,40.97],
'厦门':[118.1,24.46],
'汕尾':[115.375279,22.786211],
'潮州':[116.63,23.68],
'丹东':[124.37,40.13],
'太仓':[121.1,31.45],
'曲靖':[103.79,25.51],
'烟台':[121.39,37.52],
'福州':[119.3,26.08],
'瓦房店':[121.979603,39.627114],
'即墨':[120.45,36.38],
'抚顺':[123.97,41.97],
'玉溪':[102.52,24.35],
'张家口':[114.87,40.82],
'阳泉':[113.57,37.85],
'莱州':[119.942327,37.177017],
'湖州':[120.1,30.86],
'汕头':[116.69,23.39],
'昆山':[120.95,31.39],
'宁波':[121.56,29.86],
'湛江':[110.359377,21.270708]
};
var convertData = function (data) {
var res = [];
for (var i = 0; i < data.length; i++) {
var geoCoord = geoCoordMap[data[i].name];
if (geoCoord) {
data[i].stationaryState = 0; //是否更改当前选中图片标记
data[i].coordinateData = geoCoord; //存放坐标位置信息
res.push(data[i]);
}
}
return res;
};
let inOperationmarkIcon =["基本图标的地址Eg:http://dsfdsdfsdf/img/1.png","当前选中的图片地址"]
let currentData = convertData(data);
option1 = {
bmap: {
center: [117.23 , 31.85],
zoom:6.5, // 地图缩放比例
roam: true,
enableMapClick:false,
mapStyle: {
styleJson: [{ // 地图样式
'featureType': 'water',
'elementType': 'all',
'stylers': {
'color': '#000720'
// 'visibility': 'off'
}
}, {
'featureType': 'land',
'elementType': 'all',
'stylers': {
'color': '#000720'
}
}, {
'featureType': 'railway',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'highway',
'elementType': 'all',
'stylers': {
// 'color': '#999999'
'visibility': 'off'
}
}, {
'featureType': 'highway',
'elementType': 'labels',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'arterial',
'elementType': 'geometry',
'stylers': {
'color': '#fefefe'
}
}, {
'featureType': 'arterial',
'elementType': 'geometry.fill',
'stylers': {
'color': '#fefefe'
}
}, {
'featureType': 'poi',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'green',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'subway',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'manmade',
'elementType': 'all',
'stylers': {
'color': '#d1d1d1'
}
}, {
'featureType': 'local',
'elementType': 'all',
'stylers': {
'color': '#d1d1d1'
}
}, {
'featureType': 'arterial',
'elementType': 'labels',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'boundary',
'elementType': 'all',
'stylers': {
'color': '#00B2E6'
}
}, {
'featureType': 'building',
'elementType': 'all',
'stylers': {
'color': '#d1d1d1'
}
}, {
'featureType': 'label',
'elementType': 'labels.text.fill',
'stylers': {
// 'color': '#00BFFF',
// 'fontsize':'16'
'visibility': 'off'
}
}]
}
},
series: [ // 数据展示样式
{
type: 'custom', //自定义
coordinateSystem: 'bmap',
renderItem: function (params, api) { //具体实现自定义图标的方法
return {
type: 'image',
style: {
image: inOperationmarkIcon[currentData[params.dataIndex].stationaryState],
x: api.coord([
currentData[params.dataIndex].coordinateData[0], currentData[params.dataIndex].coordinateData[1]
])[0],
y: api.coord([
currentData[params.dataIndex].coordinateData[0], currentData[params.dataIndex].coordinateData[1]
])[1],
width: 36, // 图标大小设置
height: 36,
},
styleEmphasis:{
}
}
},
animation: true,
animationDelay: function (idx) { // 图片动画延迟,根据自己想买自行添加
return idx * 20;
},
data: currentData //数据
},
],
tooltip: {
trigger:'item',
backgroundColor: "rgba(255,255,255,0)", //设置背景图片 rgba格式
position: 'bottom',
showDelay:200,
formatter(params) { // 自定义工具栏,(数据提示框)
let text = '';
text=`
${params.data.name}园区
运营面积 ${params.data.totalOperationArea}方
入驻企业 ${params.data.companyNum}家
入驻率 ${params.data.profession}%
交易额 ${params.data.yearAmount}元
就业人数 ${params.data.personNum}人
年度税收 ${params.data.yearTax}元`
return text;
},
},
};
let myChart = echarts.init(document.getElementById("chinaMap"));
myChart.setOption(option1);
// 定时显示提示框 并设置动态选中标记图
let index = 0;
setInterval(function () {
// 隐藏提示框
myChart.dispatchAction({
type: 'hideTip',
seriesIndex: 0,
dataIndex: index
})
// 显示提示框
myChart.dispatchAction({
type: 'showTip',
seriesIndex: 0,
dataIndex: index
})
// 设置动态选中数组里图标
if(index >= 0){
for(let i=0;i<=index;i++){
currentData[i].stationaryState = 0;
}
}
currentData[index].stationaryState = 1;
myChart.setOption({
series: [{
data:currentData
}]
})
index++
if (index == currentData.length) {
currentData[index-1].stationaryState = 0
index = 0;
}
}, 6000)
记录使用echarts插件的一次应用~
echarts 地图自定义图标_echarts 使用 百度地图 加入自定义图标标记相关推荐
- 百度地图android自定义文字,Android SDK | 百度地图API SDK
什么是百度地图Android SDK? 百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口, 您可以通过该接口实现丰富的LBS功能: 地图:提供地图(2D.3 ...
- php 嵌入手机百度地图,C# 程序中嵌入百度地图
本例是对WinForm中使用百度地图的简要介绍.百度地图目前支持Android开发,IOS开发,Web开发,服务接口,具体可以参照'百度地图开放平台'. [动态加载百度地图]涉及到的知识点:WebBr ...
- 百度android地图开发文档,简介-百度地图开发文档
目录1 JavaScript API功能介绍 2 面向的读者 3 坐标转换 4 版本说明及申请API ak 5 获取JavaScript API服务方法 6 开发移动平台上的地图应用 7 Https ...
- android 百度地图 在线建议查询,Android 百度地图 SDK v3_3_0 (五) ---POI搜索和在线建议查询功能...
目前百度地图SDK所集成的检索服务包括:POI检索.公交信息查询.线路规划.地理编码.在线建议查询.短串分享. 本篇博客将先介绍POI检索和在线建议查询(在地图地位功能基础上实现的,还不知道定位的童靴 ...
- 百度地图 截图java_[Java教程]百度地图API 简单使用
[Java教程]百度地图API 简单使用 0 2015-08-24 19:00:12 最近项目上需要用到百度地图进行导航,参考百度地图API完成一个例子.API地址:http://developer. ...
- 【微信公众号VUEh5获取展示微信内置地图(gcj02)转为百度地图】
此文章中实例用测试号进行演示 .getLocation openLocation 主要运用微信JS-SDK,微信JS-SDK是微信公众平台 面向网页开发者提供的基于微信内的网页开发工具包.通过使用微信 ...
- 微信公众号h5界面获取展示微信内置地图与地图坐标间的转换 — 微信地图(gcj02)转为百度地图
此文章中实例用测试号进行演示 .getLocation openLocation 主要运用微信JS-SDK,微信JS-SDK是微信公众平台 面向网页开发者提供的基于微信内的网页开发工具包.通过使用微信 ...
- echarts地图文字重叠解决方案_ECharts 和百度地图的叠加示例(下)
前言 汇总了几个 ECharts 地图和百度地图在可视化展示时的综合示例. 主要是在 ECharts 地图和百度地图上叠加展示一些数字.图片.其它图表和轨迹动画. 另外因为每个示例的代码配置项比较繁琐 ...
- ios 一步一步学会自定义地图吹出框(CalloutView)--(百度地图,高德地图,google地图)
前言 在ios上边使用地图库的同学肯定遇到过这样的问题:吹出框只能设置title和subtitle和左右的view,不管是百度地图还是高德地图还是自带的google地图,只提供了这四个属性,如果想添加 ...
- android百度地图标方向,Android百度地图之方向感应和模式更改
本文实例为大家分享了Android百度地图之方向感应和模式更改,供大家参考,具体内容如下 目标效果: 菜单中设置几种模式,点击可查看不同的地图形式,这里随便截几张图. 1.首先要去百度地图网站 htt ...
最新文章
- 2022-2028年中国模胚行业市场研究及前瞻分析报告
- JAVA——基于HttpClient的获取帆软FineReport报表爬虫DEMO
- 现代数字影视 电影使用标准
- 计算机二级计划总结,计算机二级细节总结
- Java™ 教程(常见问题及其解决方案)
- 将ONNX对象检测模型转换为iOS Core ML(一)
- strcpy()、memcpy()、memmove()、memset()及其应用
- 博弈论学习 | 第七章 Evolutionary Game Theory
- node.js windows解压版安装与配置
- 常见图片存储格式文件简介
- 如何解决Python中的RuntimeWarning: invalid value encountered in double_scalars问题
- 新买的幻16笔记本不激活的情况下联网使用解决方案(双系统)
- 安装VS2010的SP1补丁的办法
- WPF ListBox等ItemsControl交替(Alternation)变化效果
- 全球定位系统和惯性系统在高速公路上的高精密定位
- 第一章 UT单元测试——GoogleTest通用构建说明
- flutter, `get_ip` does not specify a Swift version and none of the targets (`Runner`) integrating...
- 大盘指数是什么意思?
- 互联网摸鱼日报(2022-09-16)
- 项目管理翻译词汇补充
热门文章
- 【乌拉喵.教程】LocalBus总线介绍及FPGA总线编程
- 嗑药简史:咖啡上瘾,喝还是不喝?
- 调用Android原生裁剪方式裁剪图片并保存
- Flutter-------写一个app启动页
- mysql判断字符串长度 超出用省略号_divcss超出长度文字自动隐藏或用省略号表示...
- 裸机linux分区,裸机装linux系统怎么操作?
- CF1267G Game Relics(期望、背包)
- 敏捷教练----敏捷项目管理-史诗、故事、主题
- 存储、读取、清除cookies数据
- 蒟蒻朱的 CSP2020 J/S 游记