当前位置: 首页 > news >正文

js调用百度地图接口

 

这是前几天公司做的新项目,上面需要用到地图的数据。第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了。心想:恩,这方法好,不过...这么多地址,难道我要一张张截图,再打开ps调尺寸么?笔者很懒的好吧..

于是笔者就想了,能不能调用百度啊什么的地图接口呢?会不会很难呢?

好吧,到这里笔者就开始利用搜索引擎了。

 

搜出来的结果有很多,各个企业提供的接口也都有各自的特色,笔者比较喜欢百度提供的接口,功能比较全面,项目中笔者使用的是腾讯地图AIP,是因为跟这个项目的版面比较融合。在这里,为大家简单的演示一下百度地图接口的调用..其它的呢大家选择适合自己的去尝试一下。反正方法已经学到手了,你还怕什么?

首先给出一个百度地图API的链接,大家可以跟着教程先自己做一遍:http://developer.baidu.com/map/index.php?title=jspopular

点进去看标题:JavaScript API大众版,我们往下翻,选择地图展示点进去就是了。左边的下拉栏提供了很多关于地图的拓展功能,这里我就不一一去介绍,只给大家讲解最基本的,调用地图的方法,有兴趣的可以自己去尝试使用这些功能。

 

 

 

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style type="text/css">
  5. body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
  6. </style>
  7. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
  8. <title>地图展示</title>
  9. </head>
  10. <body>
  11. <div id="allmap"></div>
  12. </body>
  13. </html>
  14. <script type="text/javascript">
  15. // 百度地图API功能
  16. var map = new BMap.Map("allmap"); // 创建Map实例
  17. map.centerAndZoom(new BMap.Point(118.800398,32.078553), 19); // 初始化地图,设置中心点坐标和地图级别
  18. map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
  19. map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的
  20. map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
  21. </script>

上面这段代码,大家可以在获取密钥后,直接复制粘贴到记事本将密钥填入,后缀该为html双击即可访问。

关于密钥,首先得有一个百度账号,然后点击我上面发的那个链接,没错看标题:JavaScript API大众版就是它,进去我们看左上角会有一个获取密钥的链接,我们点一下。获取成功以后,我们点击创建应用,随便填就可以的。这时在查看应用里面,我找到“访问应用(AK)”所对应的一段密钥,复制粘贴到代码第七行对应的位置。此时打开编写好的html页面就可以显示地图的信息了。

 

 

此时,你会惊奇的发现,地图上显示的位置是南京玄武湖中间的一座小岛。傻了吧,想换地址是吧。很简单,我们看一下代码第十七行

map.centerAndZoom(new BMap.Point(118.800398,32.078553), 19);

其中118.800398,32.078553是玄武湖的坐标,而19表示的是地图缩放的级别,不明白什么是缩放级别的把19改成16,再进去看看就明白了。级别不是重点,重点是坐标我们怎么获取呢?这问题百度已经帮我们解决了,请往回看,我前面提到过一个左边工具栏,那里面就有生成坐标的js代码,自己研究一下。不想麻烦的话可以使用百度提供的可视化坐标转换工具,这里点进去就是了:http://api.map.baidu.com/lbsapi/getpoint/

 

文章最后提醒一句,需要注意的是,各个企业地图接口对应的坐标是不同的,就拿腾讯的和百度的来说,腾讯地图的坐标相对百度坐标向东北方向偏移了数公里,所以大家在这块一定要注意一下。另外,腾讯地图提供的坐标查询系统查询出来的坐标,跟代码中加入的坐标x、y轴是相反的,用的时候需要颠倒一下,对于有编程基础的朋友来说,写个字符串拆分再拼接的算法就行了。没编程基础的,就自己手动改吧。

附:腾讯地图坐标查询地址:http://lbs.qq.com/tool/getpoint/index.html

 

 

 

转载于:https://www.cnblogs.com/RUN-TIME/p/4449027.html

相关文章:

  • 《C语言及程序设计》程序阅读——查找和排序
  • ODAC(V9.5.15) 学习笔记(一)总论
  • 暴力分析backbone.js(1)
  • HISTFILESIZE与HISTSIZE的区别
  • #pragma data_seg 共享数据区(转)
  • Spring Custom Bean with BeanPostProcessor
  • LAMP架构之分离式-php-fpm
  • JQuery为元素添加样式
  • Export-XLSX PowerShell generate real Excel XLSX files without Excel and COM
  • Linux动态库搜索路径的技巧
  • 非常特别的一个动态规划新手教程
  • clustershell批量执行shell命令
  • 如何把SKYPE的发送消息由enter改为ctrl+enter?
  • 如何学习开源项目
  • OAF 中对文字实现html效果及对超级长文本实现默认换行,messageTextInput只读后内容自动换行,...
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • @jsonView过滤属性
  • [译]前端离线指南(上)
  • “大数据应用场景”之隔壁老王(连载四)
  • PHP 小技巧
  • Python学习之路16-使用API
  • Selenium实战教程系列(二)---元素定位
  • springboot_database项目介绍
  • springMvc学习笔记(2)
  • uni-app项目数字滚动
  • Vue.js 移动端适配之 vw 解决方案
  • vue-cli在webpack的配置文件探究
  • vue中实现单选
  • Web设计流程优化:网页效果图设计新思路
  • 高程读书笔记 第六章 面向对象程序设计
  • 关于extract.autodesk.io的一些说明
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 一个JAVA程序员成长之路分享
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 带你开发类似Pokemon Go的AR游戏
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (三)elasticsearch 源码之启动流程分析
  • (十三)Maven插件解析运行机制
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)大道至简,职场上做人做事做管理
  • (转)人的集合论——移山之道
  • (转)我也是一只IT小小鸟
  • .dwp和.webpart的区别
  • .gitignore
  • .md即markdown文件的基本常用编写语法
  • .Net IOC框架入门之一 Unity