前几天,帮朋友做了几款地图API接口调研,推荐他使用百度BMap和谷歌GMap API,后来又直接交由我来替他做
一来上周帮研究生部老师做的学位证书精准打印系统基本完工,晚上有点时间研究下js
二来去年刚到百度实习头1个月,做的正是js,因此对BMap部分源码、API接口风格以及文档也都有些了解
花了一天两夜,基本功能需求都已经实现(自定义标注、精确和模糊查询、个性化添加、右键菜单等),先贴出效果图:
上图布局,最上面是测试通过的浏览器及其版本,左侧是动态加载的数据源和查询功能,右侧则是调用BMap API实现自己的应用
知识拓展:关于js和css的浏览器兼容性问题,请参见我在百度空间的博客 Javascript 和 CSS 的浏览器兼容总结
设计思路:接口是BMap API,内部功能采用模块化设计,搜索模块、自定义添加、右键菜单事件等,这样设计方便扩展和维护,后期将考虑加入谷歌的GMap
下面,详细介绍内部功能是如何设计和实现的
1、数据源格式
数据源格式是比较规整的,具体格式如下:
目前数据源采用的text文本格式进行存储与加载,随着需求和应用的扩大,后期将会使用MySQL数据库进行保存与提取
2、动态加载数据源(左侧table)
左侧动态加载数据源效果图:
3、精准与模糊查询(正则式实现)
4、标记查询的结果
标记效果图:
5、右键菜单的实现
菜单效果图:
6、模糊查询结果
左侧,输入“1”,模糊匹配查询和显示查询结果
右侧,输出3个标记结果
校验:100、101、501三项,都含有查询关键字"1“,查询结果正确
7、关注细节,改善体验
在实现过程中,也考虑了一些细节处理,这里举两个示例
a、输入框自动提示
当用户没有输入时,输入框显示提示信息"input id",当用户鼠标点击后,提示信息自动清除(是不是很像AJAX的水印效果 哈哈)
其实,其内部实现也不复杂,但不经意的设计,体现的却是很人性化
具体实现(onmousedown和onmouseout)
b、左侧查询高亮显示
点击查询小图标后,此栏背景色高亮显示,是用户一目了然
实现代码如下:
好啦,就到这里
后期计划,想把谷歌的地图API也扩展进来,实现百度和谷歌地图自由选择
再有时间的话,将会尝试加入更新、更酷的技术,打造一些HTML5和CSS3高级应用特效
分享到:
相关推荐
百度地图离线版3.0,添加卫星地图
bMap基于百度地图API的地址输入插件,可以输入地址关键词智能搜索或在地图上拖拽获取地址与坐标,调用百度API所使用的ak请到百度地图申请,该ak仅为演示使用,不要用于实际项目中。
本离线开发包,支持百度地图离线开发。用于无网络环境下的百度地图二次开发。 包含以下文件: 1,基础API:apiv1.3.min.js ,有注释可参考; 2,基础CSS: bmap.css ; 3,依赖文件:map,oppc,tile,control,marker; 4...
所以这里面地图相关的dom并不是react渲染的,真正创建地图之类的还是使用百度地图JavaScript Api,React-BMap只是利用了React组件的写法来封装百度地图JavaScript Api,使我们在使用React的时候能更方便的使用百度...
3) 地图API请查看百度官方说明: http://developer.baidu.com/map/reference/index.php 4)如有更新,请查看网站: http://www.xiaoguo123.com/p/baidumap_offline_v21 5)此API用户大家交流学习,本人没有能力提供太...
先说说现象吧,其实很简单...就是加上地图中心的代码后,地图全白了。我放缩地图,移动地图,白色区域和网格区域都存在。具体常见:http://blog.csdn.net/zinjin_woxin/article/details/52301030。欢迎留言,欢迎共勉。
百度地图API报PERMISSION_UNFINISHED错误
关于调用百度地图的具体实例,入门的可以看一下
主要为大家详细介绍了vue用BMap百度地图实现即时搜索功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
ECharts 之前提供下载的矢量地图数据来自第三方,由于部分数据不符合国家《测绘法》规定,目前...建议大家使用以百度地图为底图的形式,需要引入扩展插件bmap.min.js,扩展主要提供了跟 geo 一样的坐标系和底图的绘制
百度地图API Demo 本次发布系列大概有28个Android游戏,需要的可以一个个下载
是echarts和百度地图结合时需要导入的百度地图的js文件
meta name="keywords" content="百度地图,百度地图API,百度地图自定义工具,百度地图所见即所得工具" /> <meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" /&...
百度地图扩展包,可用于Echarts使用百度地图作为底图。ECharts是一个使用 JavaScript 实现的开源可视化库。
使用百度地图api绘制热力图,并使用百度地图提供的Label结合Echarts,对地图标注点marker进行自定义提示的实例源代码
百度地图api实现部分功能Bmap-master.zip
百度地图3.0离线js api模板(demo)+ 地图瓦片下载器; 解压后使用 demo.html 来查看demo ; 地图资源文件存存放位置为 tiles 文件夹; 使用压缩包里面的 【全能电子地图下载器】 进行地图瓦片下载,下载完之后放到 ...
使用以百度地图为底图的形式,结合echarts,在地图上显示echarts的scatter、effectScatter、custom元素
环境在内网,又需要echarts结合百度地图,请参考本资源。里面有echarts+离线百度地图+demo+步骤文档(超详细)。百分百能用,用过麻烦好评,谢谢。