天天看點

GIS(七)——js版搜狗地圖搜尋功能美化版

       在前2篇文章中介紹了關鍵字搜尋和周邊搜尋的功能,但是界面比較簡陋,是以這一版我主要做一些美化工作。

       這次主要優化的方面有2個方面,一個是頁面的樣式,包括字型、按鈕、布局等;二是要添加一個搜尋的智能提示。

       首先修改頁面的樣式,更改

       添加兩個css樣式

       由于周邊搜尋的填充色太淡了,是以我做了一些修改:

       為了避免在輸入内容,但是未點選搜尋,而是直接點選周邊搜尋而出現錯誤,是以我添加了一個變量:

       修改搜尋這個方法,當點選搜尋時把這個變量為true:

       添加一個周邊查詢前的判斷方法:

       修改search_area方法,在方法的最後添加一下代碼:

      頁面全部重新替換一下:

       這樣頁面就大變樣了。主要是把布局修改了一下,搜尋部分和地圖之間有了層次感。搜尋框和周邊搜尋也都使用了圖檔來進行了美化。下面是我美化好的圖檔和部分原圖資料:

GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版
GIS(七)——js版搜狗地圖搜尋功能美化版

       這樣,美化部分就算是完成了。

       下面就是這個搜尋的智能提示了。在所有的地圖提供商的搜尋頁面,都提供了智能提示的功能。是以,我也要把這個功能加到這裡。但是卻怎麼也找不到搜狗地圖的智能提示的js。看來搜狗地圖沒有提供這方面的執行個體和js。既然這樣,那我隻好用其他提供商的智能提示了。

        在百度上搜尋“百度搜尋欄智能提示功能代碼”,第一個就是教如何在頁面上使用百度搜尋欄的智能提示。首先在頁面上添加一個input:

       當設定baiduSug=1時,使用者選中sug詞條時預設執行表單送出動作;當設定baiduSug=2時,使用者選中sug詞條時不執行表單送出動作。 

       然後在網頁中引入Javascript檔案:

       這裡需要特别強調的是:其中Javascript的檔案位置是非常有講究的!必須放置在</body>标簽的後面!

       本來吧到這裡應該就算是結束了,不過卻出現了一個小問題。如果你留意的話,在地圖搜尋頁面,提供商提示的都是地點,但是使用百度搜尋欄則提示的不全是地點。是以必須選擇另一個方案了。

       這個密鑰是你在百度開發者中心注冊後得到的,不會的自己百度就行了。下面接着對地圖進行修改。在頁面上添加百度地圖智能提示的js:

      在頁面的最後(</html>)加入一段js:

       搜尋的input,添加一個id為"suggestId" ,即:

       這樣功能上就實作了。但是為了更美觀一些,我們再設定一下下拉時的字型樣式:

       終于完工了,最終的效果圖如下:

GIS(七)——js版搜狗地圖搜尋功能美化版

<a target="_blank" href="http://mfxuan.free.800m.net/searchscenic.html">點選這裡到網站上檢視</a>

       到此GIS系列的文章全部結束了。如果文中有什麼錯誤之處,歡迎大家指正。

繼續閱讀