Android 使用WebView進行地址選擇

在做地圖選擇地址時故源,可以使用WebView + JS回調 的方式做為其中的一個方案

騰訊地圖方案

  1. 注冊賬號 騰訊位置服務

  2. 添加應用并申請開發(fā)key橄维,需要勾選 Webservice

  3. 編寫html文件index.html 并放到 assets 目錄下允跑, 參照: 地圖組件 | 騰訊位置服務 (qq.com)

    <iframe id="mapPage" width="100%" height="100%" frameborder=0
        src="https://apis.map.qq.com/tools/locpicker?search=1&type=1&key=替換成你的Key&referer=你的應用名稱">
    </iframe>
    
    <script>
        // 安卓端注入的對象凡恍,我這里起名為 evil,可以是其他
        let evil = window.evil
    
        window.addEventListener('message', function (event) {
            // 接收位置信息嗽元,用戶選擇確認位置點后選點組件會觸發(fā)該事件抄邀,回傳用戶的位置信息
            let loc = event.data;
            if (loc && loc.module == 'locationPicker') {//防止其他應用也會向該頁面post信息,需判斷module是否為'locationPicker'
                if (evil) {
                    // JS 回調方式晌纫,自定義即可
                    evil.invoke('location', JSON.stringify(loc))
                } else {
                    console.log('loc', loc);
                }
            }
        }, false);
    </script>
    
  1. 編寫Android端代碼

    WebView web = new WebView(context);
    WebSettings settings = web.getSettings();
    settings.setJavaScriptEnabled(true);
    web.addJavascriptInterface(new Object() {
      
        @JavascriptInterface
        public void invoke(String key, String value) {
    
            if ("location".equals(key)) {
                // 獲取到位置的JSON字符串 value
                
            }
        }
    }, "evil");
    
    web.loadUrl("file:///android_asset/index.html");
    
    

    JSON格式為

    {
        module:'locationPicker',
        latlng: {
            lat: 39.998766,
            lng: 116.273938
        },
        poiaddress: "北京市海淀區(qū)新建宮門路19號",
        poiname: "頤和園",
        cityname: "北京市"
    }
    

    不編寫html文件的情況下可使用WebView加載字符串的方式加載

    String html = "<iframe id=\"mapPage\"width=\"100%\"height=\"100%\"frameborder=0 src=\"https://apis.map.qq.com/tools/locpicker?search=1&type=1&key=替換成你的Key&referer=你的應用名稱\"></iframe><script>let evil=window.evil;window.addEventListener('message',function(event){let loc=event.data;if(loc&&loc.module=='locationPicker'){if(evil){evil.invoke('location',JSON.stringify(loc))}else{console.log('loc',loc)}}},false);</script>";
    
    web.loadData(html, "text/html", "utf-8");
    
  1. 測試

高德地圖方案

選址組件-開發(fā)指南-地圖組件|高德地圖API (amap.com)

參照上面文檔税迷,暫沒使用,方法應該和使用騰訊的差不多

百度地圖

暫時沒找到選址組件锹漱,后續(xù)找到了補充

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末箭养,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子哥牍,更是在濱河造成了極大的恐慌毕泌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砂心,死亡現(xiàn)場離奇詭異懈词,居然都是意外死亡,警方通過查閱死者的電腦和手機辩诞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門坎弯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人译暂,你說我怎么就攤上這事抠忘。” “怎么了外永?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵崎脉,是天一觀的道長。 經(jīng)常有香客問我伯顶,道長囚灼,這世上最難降的妖魔是什么骆膝? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮灶体,結果婚禮上阅签,老公的妹妹穿的比我還像新娘。我一直安慰自己蝎抽,他們只是感情好政钟,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著樟结,像睡著了一般养交。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓢宦,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天碎连,我揣著相機與錄音,去河邊找鬼刁笙。 笑死破花,一個胖子當著我的面吹牛,可吹牛的內容都是我干的疲吸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼前鹅,長吁一口氣:“原來是場噩夢啊……” “哼摘悴!你這毒婦竟也來了?” 一聲冷哼從身側響起舰绘,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蹂喻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捂寿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體口四,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年秦陋,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔓彩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡驳概,死狀恐怖赤嚼,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情顺又,我是刑警寧澤更卒,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站稚照,受9級特大地震影響蹂空,放射性物質發(fā)生泄漏俯萌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一上枕、第九天 我趴在偏房一處隱蔽的房頂上張望咐熙。 院中可真熱鬧,春花似錦姿骏、人聲如沸糖声。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蘸泻。三九已至,卻和暖如春嘲玫,著一層夾襖步出監(jiān)牢的瞬間悦施,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工去团, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留抡诞,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓土陪,卻偏偏與公主長得像昼汗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鬼雀,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內容