文章目录

  • 一、百度地图AK密钥申请
  • 二、调用百度地图API生成热力图
  • 三、调用百度地图API自动获取经纬度和地址

一、百度地图AK密钥申请

点击百度地图API控制台,输入登录账户,即可进入,若账户未完成验证,请先完成验证。之后点击控制台–>我的应用–>新建应用完成AK密钥申请。

提交成功之后可看到AK密钥,复制下来替换下面代码中的ak=您的AK 字段即可

二、调用百度地图API生成热力图

这里先给出效果图:

其中的数据有文件需求的可以用JavaScript导入csv文件方式进行处理。若出现百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥…

点击百度地图开放平台进行解决。

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的AK"></script><script type="text/javascript" src="http://api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script><title>热力图功能示例</title><style type="text/css">ul,li{list-style: none;margin:0;padding:0;float:left;}html{height:100%}body{height:100%;margin:0px;padding:0px;font-family:"微软雅黑";}#container{height:500px;width:100%;}#r-result{width:100%;}</style>
</head>
<body><div id="container"></div><div id="r-result"><input type="button"  onclick="openHeatmap();" value="显示热力图"/><input type="button"  onclick="closeHeatmap();" value="关闭热力图"/></div>
</body>
</html>
<script type="text/javascript">var map = new BMap.Map("container");          // 创建地图实例var point = new BMap.Point(103.960513,30.784031);map.centerAndZoom(point, 17);             // 初始化地图,设置中心点坐标和地图级别map.enableScrollWheelZoom(); // 允许滚轮缩放var points =[{"lng":103.958106,"lat":30.786079,"count":50},{"lng":103.960297,"lat":30.787661,"count":51},{"lng":103.961339,"lat":30.781177,"count":100},{"lng":103.961539,"lat":30.781177,"count":40},{"lng":103.961375,"lat":30.781255,"count":100},{"lng":103.962339,"lat":30.781177,"count":100},{"lng":103.961465,"lat":30.780696,"count":90},{"lng":103.961339,"lat":30.781177,"count":80},{"lng":103.961329,"lat":30.781177,"count":11},{"lng":103.961359,"lat":30.781177,"count":7},{"lng":103.961349,"lat":30.781177,"count":42},{"lng":103.962133,"lat":30.782454,"count":4},{"lng":103.962133,"lat":30.782454,"count":27},{"lng":103.963531,"lat":30.786699,"count":100},{"lng":103.963531,"lat":30.786699,"count":46},{"lng":103.955087,"lat":30.780665,"count":80},{"lng":103.961771,"lat":30.781317,"count":80},{"lng":103.961645,"lat":30.781332,"count":220},{"lng":103.961878,"lat":30.781022,"count":300},{"lng":103.961519,"lat":30.780758,"count":50},{"lng":103.961573,"lat":30.780665,"count":150},{"lng":103.961447,"lat":30.780743,"count":123},{"lng":103.961052,"lat":30.780929,"count":231},{"lng":103.960854,"lat":30.781146,"count":80}];if(!isSupportCanvas()){alert('热力图目前只支持有canvas支持的浏览器,您所使用的浏览器不能使用热力图功能~')}//详细的参数,可以查看heatmap.js的文档 https://github.com/pa7/heatmap.js/blob/master/README.md//参数说明如下:/* visible 热力图是否显示,默认为true* opacity 热力的透明度,1-100* radius 势力图的每个点的半径大小   * gradient  {JSON} 热力图的渐变区间 . gradient如下所示*  {.2:'rgb(0, 255, 255)',.5:'rgb(0, 110, 255)',.8:'rgb(100, 0, 255)'}其中 key 表示插值的位置, 0~1. value 为颜色值. */heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":20});map.addOverlay(heatmapOverlay);heatmapOverlay.setDataSet({data:points,max:100});//是否显示热力图function openHeatmap(){heatmapOverlay.show();}function closeHeatmap(){heatmapOverlay.hide();}closeHeatmap();function setGradient(){/*格式如下所示:{0:'rgb(102, 255, 0)',.5:'rgb(255, 170, 0)',1:'rgb(255, 0, 0)'}*/var gradient = {};var colors = document.querySelectorAll("input[type='color']");colors = [].slice.call(colors,0);colors.forEach(function(ele){gradient[ele.getAttribute("data-key")] = ele.value; });heatmapOverlay.setOptions({"gradient":gradient});}//判断浏览区是否支持canvasfunction isSupportCanvas(){var elem = document.createElement('canvas');return !!(elem.getContext && elem.getContext('2d'));}
</script>

三、调用百度地图API自动获取经纬度和地址

效果图如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>点击地图获取地址和经纬度map,address,lng,lat</title><meta name="robots" content="noindex, nofollow"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><!-- 将百度地图API引入,设置好自己的key --><script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的AK"></script>
</head>
<body><div class="main-div"><form method="post" action="" name="theForm" enctype="multipart/form-data" onsubmit="return validate()"><table cellspacing="1" cellpadding="3" width="100%"><tr><td class="label">经度</td><td><input type="text" name="lng" id="lng" value="" /></td></tr><tr><td class="label">纬度</td><td><input type="text" name="lat" id="lat" value="" /></td></tr><tr><td class="label">地址</td><td><input type='text' value='' name='sever_add' id='sever_add'><input type='button' value='点击显示地图获取地址经纬度' id='open'></td></tr></table></form><div id='allmap' style='width: 100%; height: 100%; position: absolute; display: none'></div></div>
</body><script type="text/javascript">function validate() {var sever_add = document.getElementsByName('sever_add')[0].value;if (isNull(sever_add)) {alert('请选择地址');return false;}return true;}//判断是否是空  function isNull(a) {return (a == '' || typeof(a) == 'undefined' || a == null) ? true : false;}document.getElementById('open').onclick = function() {if (document.getElementById('allmap').style.display == 'none') {document.getElementById('allmap').style.display = 'block';} else {document.getElementById('allmap').style.display = 'none';}}var map = new BMap.Map("allmap");var geoc = new BMap.Geocoder(); //地址解析对象  var markersArray = [];var geolocation = new BMap.Geolocation();var point = new BMap.Point(103.961539,30.781177);map.centerAndZoom(point, 17); // 中心点以及级别geolocation.getCurrentPosition(function(r) {if (this.getStatus() == BMAP_STATUS_SUCCESS) {var mk = new BMap.Marker(r.point);map.addOverlay(mk);map.panTo(r.point);map.enableScrollWheelZoom(true);} else {alert('failed' + this.getStatus());}}, {enableHighAccuracy: true})map.addEventListener("click", showInfo);//清除标识  function clearOverlays() {if (markersArray) {for (i in markersArray) {map.removeOverlay(markersArray[i])}}}//地图上标注  function addMarker(point) {var marker = new BMap.Marker(point);markersArray.push(marker);clearOverlays();map.addOverlay(marker);}//点击地图时间处理  function showInfo(e) {document.getElementById('lng').value = e.point.lng;document.getElementById('lat').value = e.point.lat;geoc.getLocation(e.point, function(rs) {var addComp = rs.addressComponents;var address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;document.getElementById('sever_add').value = address;});addMarker(e.point);}
</script>
</html>

可参考更详细指南:知乎-爬虫与数据分析

百度地图AK申请注意+百度地图API生成热力图+调用百度地图API自动获取经纬度和地址相关推荐

  1. 百度地图AK申请流程

    版权声明:本文为博主原创文章,未经博主允许不得转载. 百度地图AK申请流程 版权声明:本文为博主原创文章,未经博主允许不得转载.https://mp.csdn.net/mdeditor/8299424 ...

  2. APICloud,内置API及url调用百度地图导航

    内置API及url调用百度地图APP导航 方法中的两个参数,为自己当前位置的经纬度 function arouseMap(lon,lat){var location = $api.getStorage ...

  3. HTML自动获取地址,网页中自动获取经纬度值并在地图中显示当前位置实例代码...

    下面的HTML代码就是实例完整代码,如果你需要本项目完整实例代码,下载链接在文章最底部 网页中自动获取经纬度值并在地图中显示当前位置,可在地图中进行拖动选择当前位置并输出经纬度,这是项目实例代码,可参 ...

  4. php 调用微信收货地址,php版微信自动获取收货地址api用法示例

    微信公众平台现在是越来越强大了,我们可以通过各种api接口来与平台对接获取对应的数据了,下面来看一个由php实现的微信自动获取收货地址api程序,具体如下. 关于接口的说明我就不介绍了,在官方可以看到 ...

  5. php 调用微信收货地址,php微信自动获取收货地址api用法实例详解

    这篇文章主要介绍了php版微信自动获取收货地址api用法,结合实例形式分析了php版微信API接口调用与使用技巧,需要的朋友可以参考下 微信公众平台现在是越来越强大了,我们可以通过各种api接口来与平 ...

  6. 【教程】百度地图AK申请指南(PM2.5指导版)

    一. 什么是百度地图AK   百度地图是-(省略介绍)   二. 申请教程 2.1 打开 百度地图开放平台 官网 前往 百度地图开放平台 | 百度地图API SDK | 地图开发 [点击 蓝色字段 跳 ...

  7. java 地图api接口_Java调用百度地图API

    本实战代码将使用百度地图的接口来实现以下功能: 1.确定输入地址的坐标 2.两个坐标的距离 其他的话,还要使用百度账户申请相关的api,具体见: http://lbsyun.baidu.com/ind ...

  8. 【百度地图】——百度地图API获取经纬度、地址及周边兴趣点

    在做一个电商项目过程中,需要获取设备地理信息,包括经纬度定位,附近地址等,于是写了一个工具类方便使用. 1.在使用百度地图API使,首先要获取官方授权,在http://lbsyun.baidu.com ...

  9. python调用百度地图api定位_python 调用百度地图地点检索webAPI

    百度地图提供了开放的API,使用方法 右上角登陆账号 -> 点击"获取密钥" -> "创建应用" -> 填写应用名称&白名单IP -& ...

最新文章

  1. python uiautomation选择list内容_使用python UIAutomation从QQ2017(v8.9)群界面获取所有群成员详细资料,...
  2. 使用FCN做图像语义分割(实践篇)
  3. springboot启动报错:org/springframework/expression/ParserContext
  4. maven的web工程打包为war并部署到服务器
  5. Maven:导入Oracle的jar包时出现错误
  6. 通用的类-可直接存储的Dictionary,可以被JSON或NSUserDefaults
  7. javascript常用工具类整理(copy)
  8. 清除网页缓存的快捷键
  9. 简单了解交换机原理与配置
  10. 电脑 蓝牙不显示 服务器,电脑蓝牙无法使用桌面右下角蓝牙图标不见的解决方法...
  11. Java学习笔记之接口
  12. 纯洁的心--佩雷尔曼
  13. android+判断小米手机,android 判断手机为小米
  14. 一只喵的西行记-4 蛋蛋的忧桑
  15. 武林高手?敏捷开发,唯velocity取胜
  16. CentOS7.9下安装Oracle19c
  17. Direct2D编程入门
  18. iOS 8 Change List版本说明 What's New
  19. 奥赛金牌计算机博士中学老师,12岁获奥赛金牌,17岁读博的数学天才,全人教育下现状令人想不到...
  20. JAVA中J2SE和J2EE和 J2me关系

热门文章

  1. 产品经理学习——如何与UI工程师进行有效沟通
  2. U.2接口和M.2接口有什么区别
  3. 新版标准日本语初级_第二十四课
  4. 用lstm算法成功计算下一期彩票中奖号码
  5. 家用计算机是数模混合,计算机可分为哪几类?依据是什么?
  6. e:Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel
  7. 动态规划练习——最长回文子序列
  8. 【WIN 04】Free Open Source Applications
  9. 王通:如果你的人生想逆袭,你最需要的是这3个关键点
  10. apex英雄机器人探路者怎么玩_Apex英雄探路者使用技巧 Apex英雄手游探路者技能怎么用...