UNPKG

mapv

Version:

a library of geography visualization

90 lines (69 loc) 2.56 kB
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> html, body { width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; } #map { width: 100%; height: 100%; } </style> </head> <body> <div id="map"></div> <canvas id="canvas"></canvas> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=1XjLLEhZhQNUzd93EjU5nOGQ"></script> <script type="text/javascript" src="../build/mapv.js"></script> <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("map", { enableMapClick: false }); // 创建Map实例 map.centerAndZoom(new BMap.Point(105.403119, 38.028658), 5); // 初始化地图,设置中心点坐标和地图级别 map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放 map.setMapStyle({ style: 'midnight' }); var randomCount = 300; var data = []; var citys = ["北京","天津","上海","重庆","石家庄","太原","呼和浩特","哈尔滨","长春","沈阳","济南","南京","合肥","杭州","南昌","福州","郑州","武汉","长沙","广州","南宁","西安","银川","兰州","西宁","乌鲁木齐","成都","贵阳","昆明","拉萨","海口"]; // 构造数据 while (randomCount--) { var cityCenter = mapv.utilCityCenter.getCenterByCityName(citys[parseInt(Math.random() * citys.length)]); data.push({ lng: cityCenter.lng - 2 + Math.random() * 4, lat: cityCenter.lat - 2 + Math.random() * 4, count: 30 * Math.random() }); } var canvasLayer = new mapv.baiduMapCanvasLayer({ map: map, update: update }); function update() { var ctx = this.canvas.getContext("2d"); mapv.canvasClear(ctx); for (var i = 0; i < data.length; i++) { var pixel = map.pointToPixel(new BMap.Point(data[i].lng, data[i].lat)); data[i].x = pixel.x; data[i].y = pixel.y; } var options = { fillStyle: 'rgba(255, 50, 50, 0.5)', max: 30, radius: 13, draw: 'bubble' } mapv.canvasPoint.draw(ctx, data, options); } </script> </body> </html>