java散点世界地图,踩坑ECharts(GL)地理位置散点图

散点图也可以叫做热点图、地理分布图等。

目标

画一个地图,上面星星点点的一些表示数据的热点。没想到这么简单的一个事儿,小坑无数,diss下百度。

基于百度地图的散点图

也就是scatter与bmap结合。主要参考官网的地理/地图例子,把那个矩形给去掉了。

先写html,说明见注释。

基于百度地图的散点图

首先,ECharts官网已经不提供地图文件直接下载了,只能采用与百度地图结合的形式。

b4cf7ca712d3

image.png

其他都好说,引入bmap.js真是费周折。先从Echarts官网的最下面的扩展百度地图点进去,跳转到github,直接下载使用。

控制台报错Uncaught SyntaxError: Unexpected token

b4cf7ca712d3

image.png

你倒是告诉我,哪来的min版本?

后来阴差阳错,在这个地址下载了min版本才可用了。

js代码没什么好说的,参考了百度地图以及Echarts的官网。

$(function () {

var mp = new BMap.Map("scatter-bmap");

mp.centerAndZoom(new BMap.Point(116.3964,39.9093), 10);

mp.enableScrollWheelZoom();

var canvasLayer = new BMap.CanvasLayer({

update: update

});

function update() {

var ctx = this.canvas.getContext("2d");

if (!ctx) {

return;

}

ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);

var temp = {};

ctx.fillStyle = "rgba(50, 50, 255, 0.7)";

ctx.beginPath();

var data = [

new BMap.Point(116.297047,39.979542),

new BMap.Point(116.321768,39.88748),

new BMap.Point(116.494243,39.956539)

];

for (var i = 0, len = data.length; i < len; i++) {

var pixel = mp.pointToPixel(data[i]);

ctx.fillRect(pixel.x, pixel.y, 30, 30);

}

}

mp.addOverlay(canvasLayer);

// 初始化echarts示例mapChart

var mapChart = echarts.init(document.getElementById('scatter-bmap'));

var data = [

{name: '海门', value: 9},

{name: '鄂尔多斯', value: 12},

{name: '招远', value: 12},

{name: '舟山', value: 12},

{name: '齐齐哈尔', value: 14},

{name: '盐城', value: 15},

{name: '赤峰', value: 16},

{name: '青岛', value: 18},

{name: '乳山', value: 18},

{name: '金昌', value: 19},

{name: '泉州', value: 21},

{name: '莱西', value: 21},

{name: '日照', value: 21},

{name: '胶南', value: 22},

{name: '南通', value: 23},

{name: '拉萨', value: 24},

{name: '云浮', value: 24},

{name: '梅州', value: 25},

{name: '文登', value: 25},

{name: '上海', value: 25},

{name: '攀枝花', value: 25},

{name: '威海', value: 25},

{name: '承德', value: 25},

{name: '厦门', value: 26},

{name: '汕尾', value: 26},

{name: '潮州', value: 26},

{name: '丹东', value: 27},

{name: '太仓', value: 27},

{name: '曲靖', value: 27},

{name: '烟台', value: 28},

{name: '福州', value: 29},

{name: '瓦房店', value: 30},

{name: '即墨', value: 30},

{name: '抚顺', value: 31},

{name: '玉溪', value: 31},

{name: '张家口', value: 31},

{name: '阳泉', value: 31},

{name: '莱州', value: 32},

{name: '湖州', value: 32},

{name: '汕头', value: 32},

{name: '昆山', value: 33},

{name: '宁波', value: 33},

{name: '湛江', value: 33},

{name: '揭阳', value: 34},

{name: '荣成', value: 34},

{name: '连云港', value: 35},

{name: '葫芦岛', value: 35},

{name: '常熟', value: 36},

{name: '东莞', value: 36},

{name: '河源', value: 36},

{name: '淮安', value: 36},

{name: '泰州', value: 36},

{name: '南宁', value: 37},

{name: '营口', value: 37},

{name: '惠州', value: 37},

{name: '江阴', value: 37},

{name: '蓬莱', value: 37},

{name: '韶关', value: 38},

{name: '嘉峪关', value: 38},

{name: '广州', value: 38},

{name: '延安', value: 38},

{name: '太原', value: 39},

{name: '清远', value: 39},

{name: '中山', value: 39},

{name: '昆明', value: 39},

{name: '寿光', value: 40},

{name: '盘锦', value: 40},

{name: '长治', value: 41},

{name: '深圳', value: 41},

{name: '珠海', value: 42},

{name: '宿迁', value: 43},

{name: '咸阳', value: 43},

{name: '铜川', value: 44},

{name: '平度', value: 44},

{name: '佛山', value: 44},

{name: '海口', value: 44},

{name: '江门', value: 45},

{name: '章丘', value: 45},

{name: '肇庆', value: 46},

{name: '大连', value: 47},

{name: '临汾', value: 47},

{name: '吴江', value: 47},

{name: '石嘴山', value: 49},

{name: '沈阳', value: 50},

{name: '苏州', value: 50},

{name: '茂名', value: 50},

{name: '嘉兴', value: 51},

{name: '长春', value: 51},</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值