百度地圖BMap API的應用實例


前幾天,幫朋友做了幾款地圖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高級應用特效




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM