百度地图 JavaScript API 极速版 开发体会
来源:互联网 发布:怎么学习电脑编程 编辑:程序博客网 时间:2024/05/22 09:25
前段时间百度地图API推出了 JavaScript API 极速版 1.0 简单看了一下,从产品定位来说真是挺好。 把开发者细分成普通web开发者和移动web开发者。正好用到了手机地图这块决定尝试一下。先看一下百度地图官方对它的定义。
尊重劳动成功请保留原文地址:http://blog.csdn.net/lbsnews/article/details/29368879
本套百度地图API是专为手机浏览器提供的API,您可使用该套API,在手机页面中展示地图、标注位置、检索poi、查询线路等。
特点:
- 较同时兼容PC和手机浏览器的JavaScript API大众版而言,该版更适配移动设备,体积更小,加载地图速度更快,更省流量;
- 较移动端常采用的静态图API,该版本可加载动态地图,进行地图操作,如拖拽、缩放、检索、线路规划等,更好满足用户对地图的丰富需求。
- 适用手机浏览器类型:Android自带、UC、百度、QQ等主流浏览器。
我是先看的Dome和开发文档,总结的时候才看这个描述。真是个很轻量的SDK。不要用大众版的标准来要求它。百度地图这个做减法的工作还是很有针对性的。
如果想先出个Holle World 可以看一下百度地图入门 官方文档。要是做过百度地图大众版本开发的请继续往下。
一、极速版本大众版本创建地图时的区别
- HTML5的定义: <!DOCTYPE html>
- 响应式设计的定义:<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
- 极速版本type定义: http://api.map.baidu.com/api?type=quick&ak...
二、开发过程中的接口区别
- 接口方面:少了很多接口,大众版本的代码不能直接在极速版上这使用。会提示对象未定义方法。 最明显的就是没有lable对象。只能添加mark。原来定义的复杂标注在这都是使不了,只能通过添加弹出窗口来丰富标注信息。手机专用的touch事件也只保留了两种情况。
- 效率方面:和大众版本不是一个级别的。考虑到是在手机上运行,绘制标注的数量就需要严格控制。手机窗口中超过50个mark就开始影响正常的放大缩小操作了,还会卡顿。也可能我手机(M2)比较烂。
- BUG:我对V1.0版本的测试表示强烈质疑,我遇到的问题不是什么犄角旮旯里的错误。一个zoomend事件响应两次。还有Infowindows(弹出窗口)只能指定一个mark实例,说简单点多个mark无法和多个Infowindows对应。 尝试了很多方式没解决,只能自己新建对象存储信息还要比对出对应关系。弹出的Infowindows窗口在手机上也时常关不掉。不多说了就那几个接口谁用谁知道。
三、完成的内容
做了一个极速版的原型,处理了上面提到到的几个BUG,优化了mark的绘制,对用极速版开发的朋友会有些帮助。
- 使用百度提供的LBS云作为POI点的管理工具。使用《JavaScript API 极速版》SDK做客户端开发。
- 解决信息窗口弹出错误问题:在循环添加infowindows的过程中出现只有最后一个弹出窗口能够显示。
- 优化窗口标注加载刷屏问题:地图平移过程中,通过新请求数据和地图上已有的坐标点数据进行比对,判断是否绘制或者删除。在地图放大或者缩小过程中随地图一起清空重绘。
- 控制窗口内绘制标注的数量:绘制过程中通过堆栈的机制,控制标注的绘制顺序过程。可自定义堆栈大小。
- 解决窗口zoomend事件被二次触发问题。
- 通过自建对象存储需要弹出的info窗口信息,使用坐标比对方式查找对应信息。
- 重新定义bounds请求范围,解决标注和边框重合。
- 通过百度提供的IP定位接口来进行定位。(非常不准)
想要代码的同学请自己通过调试窗口拷贝 topspeedmap.js文件。全在里面没有加密,请保留作者信息。如果找不到脚本文件就留个邮箱吧,我会在我想起来的时候发你一份最新更新版本。
扫描手机码访问测试
在线访问地址:http://rivers.duapp.com/
注意:百度地图文档中提供的方法已经过时了。想预览请参考我下面的步骤。
0 1
- 百度地图 JavaScript API 极速版 开发体会
- “百度地图JavaScript API”简单实例开发
- 百度地图 JavaScript API
- 百度地图API开发
- 百度地图开发API
- 百度地图JavaScript API开发叠加行政区划图
- javascript调用百度地图api
- 调用百度地图Javascript API
- 百度地图Javascript Api定位
- 百度地图API开发指南
- IOS开发百度地图API
- 百度地图API开发指南
- iOS 开发-百度地图API
- IOS开发百度地图API
- 百度地图API开发概述
- 百度地图API开发应用
- 百度地图API -- 开发总结
- 百度的地图开发API
- thinkphp中自定义函数的使用方法
- Swift学习之八:断言(Assertions)
- Search in Rotated Sorted Array II
- SVN修改用户名与密码
- iOS百度地图 定位的实现
- 百度地图 JavaScript API 极速版 开发体会
- linux的信号量通信
- 最简单的基于FFmpeg的AVfilter例子(水印叠加)
- 【C】物联网与智能家居资讯
- vmware 桥接网络
- Doom3 couldn't load default.cfg
- Django中的用户认证
- 第三周作业——冒泡排序和归并排序
- python多线程图片爬虫