百度地图JavaScript开发入门教程

简介:         自从openGPS.cn小编在2011年的一个WEB项目中用到了百度地图做售楼数量分布显示功能之后,就一发不可收拾,在位置服务的领域一路走了5年之久。今天难得时间充裕,给WEB开发者分享一点自己的经验,希望能够给到新接触百度地图JavaScript开发的朋友们一些帮助。         百度地图JavaScript开发第一步,得会看资料。很多新手,是因为连

        自从openGPS.cn小编在2011年的一个WEB项目中用到了百度地图做售楼数量分布显示功能之后,就一发不可收拾,在位置服务的领域一路走了5年之久。今天难得时间充裕,给WEB开发者分享一点自己的经验,希望能够给到新接触百度地图JavaScript开发的朋友们一些帮助。


        百度地图JavaScript开发第一步,得会看资料。很多新手,是因为连基本的页面怎么打开都不知道,重度依赖搜索引擎去搜出来百度地图开发官方站点,从而记不住操作过程,回头却找不到用过的页面,不会操作。而且忘记了过程。导致开发过程重重受阻。这里建议新手们记住以下步骤:

        1,打开百度首页 (www.baidu.com

        2,右上角点击地图标签,切换到百度地图页面(http://map.baidu.com/

        3,左下角点击“地图开放平台”,进入地图开放平台首页(http://lbsyun.baidu.com/

        4,菜单栏一次选择“开发”>“Web开发”>“JavaScript API”,进入百度地图JavaScript API开发引导页(http://lbsyun.baidu.com/index.php?title=jspopular)这里要注意,这里才是入口。为了方便以后的开发,建议把这个页面额URL存入浏览器书签,以后的操作从这里开始,跳过前面介绍的1、2、3步骤。

        5,百度地图JavaScript API开发引导页。这个页面中,首次接触百度地图开发的朋友,先仔细阅读右侧内容。这里介绍了入门必备的ak参数,ak是入门必备,新手务必仔细阅读,按照官方提示去申请ak。其次,需要重点记住左侧菜单栏的两个栏目“类参考”和“示例DEMO”。对于项目上使用要求简单的工作,几乎完全参照“示例DEMO”就可以完成工作需求。如果有稍微复杂的需求,则使用“类参考”栏目进阶。“类参考”就是百度地图JavaScript API开发的技术文档,通过这个文档就可以使用百度地图开发出自己想要的功能了。


        百度地图JavaScript开发第二步:熟悉坐标系。

        首先纠正一个新手入门可能存在的认识错误,GPS是美国研制的全球卫星定位系统。经纬度是坐标,地理信息科学(GIS)上规定的对地球位置标注的一套坐标体系。坐标不是GPS所独有,而是GPS使用了地理坐标的经纬度来表示位置。国际上通用的一套标准是WGS-84,这套坐标系作为标杆,被全球各国所接受。GPS终端或获取的原始坐标,均为WGS-84标准的坐标系。之所以先介绍WGS84坐标,原因在于中国有个明文规定:严禁出版物、在线服务等使用WGS84坐标。因此新手在不清楚这个规定的前提下,很容易进入误区,发现自己的坐标画到地图上发现位置不准确。国家指定了一套坐标系,在WGS84基础上增加了非线性偏移量,简称“GCJ-02”。非线性偏移量,决定了该坐标系理论上不可逆运算,而且不能使用简单的经纬度增加固定值得方式转换。一般出版物,在线地图,至少使用此标准发行。

        百度地图所采用的坐标系,在GCJ-02的基础上再次增加了非线性偏移量,从而诞生百度地图体系里所独有的坐标系“百度经纬度坐标(bd09ll)”和“百度米制经纬度坐标(bd09mc)”。百度的各项服务,均使用百度重新制定的坐标系表示。百度JavaScript API中,提供了方法转换坐标,实际使用时候调用即可(坐标转换实例:http://lbsyun.baidu.com/jsdemo.htm#a5_2)。另外百度也提供了坐标转换的webapi,API文档地址:(http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition)。目前使用gcj02的在线地图:高德地图,腾讯地图,谷歌地图中国区域等。采用自定义坐标系的在线地图:百度地图,天地图,搜狗地图等。


        百度地图JavaScript开发第三步:腾飞。知道了前面两步之后,剩下的便是对照“类参考”进行快速开发的过程了。实现各种自定义功能。例如汽车位置平台厂家的功能:“汽车地位”、“车辆跟踪”、“轨迹回放”、“拥堵路况”、“海量位置展示”等等功能。这个过程,便是飞起来的过程。根据需求组合各种各样的炫酷的功能,就可以玩出花来了。


        原文链接:https://www.opengps.cn/Share/Article/View.aspx?id=14,内容更新以此链接为准。



目录
相关文章
|
25天前
|
开发框架 JavaScript 安全
js开发:请解释什么是Express框架,以及它在项目中的作用。
Express是Node.js的Web开发框架,简化路由管理,支持HTTP请求处理。它采用中间件系统增强功能,如日志和错误处理,集成多种模板引擎(EJS、Jade、Pug)用于HTML渲染,并提供安全中间件提升应用安全性。其可扩展性允许选用合适插件扩展功能,加速开发进程。
|
26天前
|
缓存 JavaScript 前端开发
js开发:请解释什么是Webpack,以及它在项目中的作用。
Webpack是开源的JavaScript模块打包器,用于前端项目构建,整合并优化JavaScript、CSS、图片等资源。它实现模块打包、代码分割以提升加载速度,同时进行资源优化和缓存。借助插件机制扩展功能,并支持热更新,加速开发流程。
17 4
|
26天前
|
缓存 JavaScript 数据安全/隐私保护
js开发:请解释什么是ES6的Proxy,以及它的用途。
`ES6`的`Proxy`对象用于创建一个代理,能拦截并自定义目标对象的访问和操作,应用于数据绑定、访问控制、函数调用的拦截与修改以及异步操作处理。
17 3
|
4天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
26天前
|
Web App开发 JavaScript 前端开发
js开发:请解释什么是Node.js,以及它的应用场景。
Node.js是基于V8的JavaScript运行时,用于服务器端编程。它的事件驱动、非阻塞I/O模型使其在高并发实时应用中表现出色,如Web服务器、实时聊天、API服务、微服务、工具和跨平台桌面应用(使用Electron)。适用于高性能和实时需求场景。
18 4
|
26天前
|
JavaScript 前端开发 编译器
js开发: 请解释什么是Babel,以及它在项目中的作用。
**Babel是JavaScript编译器,将ES6+代码转为向后兼容版本,确保在旧环境运行。它在前端构建中不可或缺,提供语法转换、插件机制、灵活配置及丰富的生态系统,支持代码兼容性和自定义编译任务。**
17 6
|
26天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的async/await,以及它如何解决回调地狱问题。
ES6的`async/await`是基于Promise的异步编程工具,能以同步风格编写异步代码,提高代码可读性。它缓解了回调地狱问题,通过将异步操作封装为Promise,避免回调嵌套。错误处理更直观,类似同步的try...catch。
|
26天前
|
JavaScript
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停恢复的特殊函数,用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。
16 6
|
26天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可为任意类型,有序且支持get、set、has、delete操作;Set存储唯一值,提供add、delete、has方法。两者皆可迭代。示例展示了Map和Set的基本用法,如添加、查询、删除元素。
13 2
|
26天前
|
JavaScript
js开发:请解释什么是ES6的Symbol,以及它的用途。
ES6的Symbol数据类型创建唯一值,常用于对象属性键(防冲突)和私有属性。示例展示了如何创建及使用Symbol:即使描述相同,两个Symbol也不等;作为对象属性如`obj[symbol1] = 'value1'`;也可作枚举值,如`Color.RED = Symbol('red')`。