騰訊地圖使用:輸入內(nèi)容自動(dòng)提示

用戶在搜索框輸入地點(diǎn)的關(guān)鍵詞卓起,即可呈現(xiàn)相應(yīng)的地點(diǎn)提示文字兴蒸,將最佳的可能搜索結(jié)果以下拉列表的方式呈現(xiàn)給用戶衫生,提升了用戶的地圖搜索體驗(yàn)和地點(diǎn)查找效率僧著。
效果如下:


一、功能介紹

關(guān)鍵詞輸入提示接口可以用于獲取輸入關(guān)鍵字的補(bǔ)完與提示障簿,幫助用戶快速輸入盹愚。可以通過配合前端程序?qū)崿F(xiàn)Autocomplete(自動(dòng)完成)的效果站故。

二皆怕、密鑰申請(qǐng)

1. 用戶登錄

打開騰訊位置服務(wù)主頁(yè):https://lbs.qq.com毅舆,點(diǎn)擊右上角的登錄按鈕:

image

2. 驗(yàn)證信息

點(diǎn)擊控制臺(tái),進(jìn)入開發(fā)者信息界面愈腾,補(bǔ)全基本用戶信息憋活,完成驗(yàn)證。


image

3. 申請(qǐng)密鑰

點(diǎn)擊左側(cè)key與配額下的key管理:


image

點(diǎn)擊創(chuàng)建新密鑰虱黄,填寫Key名稱悦即、描述、驗(yàn)證碼橱乱,等待審核通過:


image
密鑰申請(qǐng)通過后辜梳,可以點(diǎn)擊設(shè)置按鈕修改名稱及描述,并可以選擇啟用的產(chǎn)品泳叠,以及對(duì)調(diào)用規(guī)則進(jìn)行限制:
image

同時(shí)作瞄,可以在查看配額界面查看各接口的用量情況:


image

三、操作步驟

1. 開發(fā)文檔入口

滑動(dòng)到上方菜單的開發(fā)文檔 -> 選擇服務(wù)端下的WebService API:

image
點(diǎn)擊左側(cè)的關(guān)鍵詞輸入提示:
image
直達(dá)地址:https://lbs.qq.com/service/webService/webServiceGuide/webServiceSuggestion

2. 接口測(cè)試

可以直接使用Postman工具來測(cè)試危纫,或者使用Postwomen(Postman他女朋友宗挥,唉,連工具都成雙入對(duì)了种蝶,寫個(gè)代碼都要被虐契耿,罷了,好好打工)螃征。
由文檔可知搪桂,接口的請(qǐng)求類型為GET,默認(rèn)的數(shù)據(jù)返回格式為JSON会傲。必填參數(shù)有三個(gè):

  • key:開發(fā)者密鑰
  • keyword:搜索關(guān)鍵字
  • region:搜索范圍,必填的限制條件(可以通過region_fix來設(shè)置是否擴(kuò)大范圍)


    image

3. 返回結(jié)果

以下為返回結(jié)果拙泽,為了完整展示數(shù)據(jù)結(jié)構(gòu)淌山,刪減了data中的部分?jǐn)?shù)據(jù):

{
    "status": 0,
    "message": "query ok",
    "count": 100,
    "data": [
        {
            "id": "14178584199053362783",
            "title": "中關(guān)村",
            "address": "北京市海淀區(qū)",
            "category": "地名地址:熱點(diǎn)區(qū)域:商圈類",
            "type": 0,
            "location": {
                "lat": 39.981047,
                "lng": 116.320787
            },
            "adcode": 110108,
            "province": "北京市",
            "city": "北京市",
            "district": "海淀區(qū)"
        },
        {
            "id": "2199027905900",
            "title": "中關(guān)村[地鐵站]",
            "address": "地鐵4號(hào)線大興線",
            "category": "基礎(chǔ)設(shè)施:交通設(shè)施:地鐵站",
            "type": 2,
            "location": {
                "lat": 39.984055,
                "lng": 116.316478
            },
            "adcode": 110108,
            "province": "北京市",
            "city": "北京市",
            "district": "海淀區(qū)"
        }
    ],
    "request_id": "1136352410315519097"
}

字段含義可見下表(可在接口文檔中找到):

image
四、使用案例
由于接口為純HTTP接口顾瞻,所以在效果實(shí)現(xiàn)上還需要使用項(xiàng)目中的一些組件泼疑。本例使用最簡(jiǎn)的jquery-ui來實(shí)現(xiàn)autocomplete效果,下載地址為:http://jqueryui.com/download/荷荤。

1. 基礎(chǔ)界面

首先構(gòu)建一個(gè)基礎(chǔ)界面退渗,創(chuàng)建一個(gè)文本框,并依照jquery-ui的用法進(jìn)行綁定蕴纳。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <!--引入css樣式文件-->
        <link rel="stylesheet" type="text/css" href="css/jquery-ui.min.css"/>
        <!--引入所需的jquery庫(kù)文件-->
        <script src="js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
        <!--引入jquery-ui文件-->
        <script src="js/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            $(function() {
                $("#search").autocomplete({//為文本框完成綁定
                    source: function(request,response){
                        //使用自定義函數(shù)處理
                    }
                });
            });
        </script>
    </head>
    <body>
        <div class="ui-widget">
            <label for="search">搜索框: </label>
            <input type="text" id="search">
        </div>
    </body>
</html>

效果如下:


image

2. 動(dòng)態(tài)響應(yīng)

在source對(duì)應(yīng)的函數(shù)中需要完成接收文本框的值会油,以及向接口請(qǐng)求數(shù)據(jù),最終進(jìn)行數(shù)據(jù)封裝的過程古毛。需要注意翻翩,由于該過程涉及到用戶的不斷操作都许,所以建議將ajax設(shè)置為同步方式。

                $("#search").autocomplete({//為文本框完成綁定
                    source: function(request,response){
                        //從request對(duì)象中獲得文本框內(nèi)容
                        var keyword = request.term;
                        //定義數(shù)組嫂冻,封裝最終結(jié)果
                        var obj = [];
                        $.ajax({
                            url:"https://apis.map.qq.com/ws/place/v1/suggestion",
                            type:"get",
                            dataType:"json",
                            async:false,//關(guān)閉異步
                            data:{
                                "key":"替換為自己的key",
                                "keyword":keyword,
                                "region":"北京"
                            },success:function(resp){
                                for(i in resp.data){
                                    //此處可以根據(jù)需要自定義要顯示的內(nèi)容以及封裝的數(shù)據(jù)
                                    obj.push({
                                        "label":resp.data[i].title + "["+resp.data[i].province+"-"+resp.data[i].city+"-"+resp.data[i].district+"]",
                                        "value":resp.data[i].title
                                    });
                                    //label為提示顯示的內(nèi)容
                                    //value為選中后補(bǔ)全出現(xiàn)在文本框中的內(nèi)容
                                }
                            }
                        });
                        //將obj最為結(jié)果返回
                        response(obj);
                    }
                });

測(cè)試可知胶征,支持中文與拼音的檢索,最終效果如下:

  • 拼音搜索


    image
  • 選中后


    image

    此處功能需要的效果可以根據(jù)項(xiàng)目的需要進(jìn)行調(diào)整桨仿。

3. 完整案例源碼

原文作者:一頭小山豬

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末睛低,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子服傍,更是在濱河造成了極大的恐慌钱雷,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伴嗡,死亡現(xiàn)場(chǎng)離奇詭異急波,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瘪校,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門澄暮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人阱扬,你說我怎么就攤上這事泣懊。” “怎么了麻惶?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵馍刮,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我窃蹋,道長(zhǎng)卡啰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任警没,我火速辦了婚禮匈辱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘杀迹。我一直安慰自己亡脸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布树酪。 她就那樣靜靜地躺著浅碾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪续语。 梳的紋絲不亂的頭發(fā)上垂谢,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音疮茄,去河邊找鬼埂陆。 笑死苛白,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的焚虱。 我是一名探鬼主播购裙,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼鹃栽!你這毒婦竟也來了躏率?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤民鼓,失蹤者是張志新(化名)和其女友劉穎薇芝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丰嘉,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡夯到,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饮亏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耍贾。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖路幸,靈堂內(nèi)的尸體忽然破棺而出荐开,到底是詐尸還是另有隱情,我是刑警寧澤简肴,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布晃听,位于F島的核電站,受9級(jí)特大地震影響砰识,放射性物質(zhì)發(fā)生泄漏能扒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一辫狼、第九天 我趴在偏房一處隱蔽的房頂上張望初斑。 院中可真熱鬧,春花似錦予借、人聲如沸越平。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至晦溪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瘦麸。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留避咆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓修噪,卻偏偏與公主長(zhǎng)得像查库,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子黄琼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容