uniapp地圖拾取中心點(diǎn)坐標(biāo)經(jīng)緯度并進(jìn)行反編碼

準(zhǔn)備:使用了高德地圖,所以需要前往高德開放平臺(tái)申請(qǐng)appkey(安卓,iOS各一個(gè))。申請(qǐng)過程不做介紹。

1.首先打開配置文件中的maps模塊

image.png

2.其次配置高德appkey

image.png

3.開發(fā)

3.1 準(zhǔn)備素材

圖片:


Location.png

新建頁(yè)面:


image.png

3.2 開發(fā)

頁(yè)面模板中放入地圖組件:

      <view>
        <view class="page-body">
            <view class="page-section page-section-gap">
                <map id="midMap" style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude">
                    <cover-image class="coverIcon" src="/static/img/Location.png"></cover-image>
                </map>
            </view>
            <button class="confirmBtn" @click="getCenter()">確 定</button>
        </view>
    </view>

腳本中定義頁(yè)面內(nèi)全局變量地圖對(duì)象

<script>
    var appMap = null;
    // ...
</script>

頁(yè)面onReady時(shí)獲取地圖對(duì)象

                onReady(options) {
            console.log("onReady");
            appMap = uni.createMapContext("midMap", this).$getAppMap();
            appMap.showUserLocation(true);
        },

上面用到的api,可查看uniapp接口文檔--createmapcontext

獲取中心點(diǎn)經(jīng)緯度并反編碼:

        // methods中添加函數(shù):
        getCenter: function() {
                var _that = this;
                appMap.getCurrentCenter(
                    function(state, point) {
                        if (0 == state) {
                            // 反編碼
                            var point = new plus.maps.Point(point["longitude"], point["latitude"]);
                            plus.maps.Map.reverseGeocode(point, {}, function(event) {
                                var address = event.address; // 轉(zhuǎn)換后的地理位置
                                var coord = event.coord; // 轉(zhuǎn)換后的坐標(biāo)信息
                                var coordType = event.coordType; // 轉(zhuǎn)換后的坐標(biāo)系類型
                                console.log("Address:" + address);
                                console.log("coord", coord);
                                uni.showModal({
                                    title: "提示",
                                    content: "確定:" + address + "?",
                                    success: function(res) {
                                        if (res.confirm) {
                                            // 業(yè)務(wù)邏輯...
                                        } else if (res.cancel) {
                                        }
                                    }
                                })
                            }, function(e) {
                                // console.log("Failed:" + JSON.stringify(e));
                                uni.showToast({
                                    title: '反編碼失敗' + JSON.stringify(e)
                                });
                            });
                        } else {
                            uni.showToast({
                                icon: "none",
                                title: "獲取經(jīng)緯度失敗!" + state
                            })
                        }
                    }
                );
            }

有關(guān)上面用到的api,可查看5+app的接口文檔--maps

可嘗試撥動(dòng)地圖位置,改變地圖中心點(diǎn)位置。點(diǎn)擊確定

image.png

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在使用高德地圖之前需要現(xiàn)在高德地圖開放平臺(tái)創(chuàng)建一個(gè)APP,會(huì)自動(dòng)生成一個(gè)appKey,在工程中使用高德地圖sdk時(shí)...
    如果思念是自己的閱讀 6,233評(píng)論 1 4
  • 說起陪讀高考孩子,很多人都覺得很累,可是我覺得還行,沒有感覺到累。 兒子今年是復(fù)讀生,相對(duì)去年,我覺得今年更輕松些...
    二馬fxx閱讀 685評(píng)論 0 0
  • 所有的時(shí)刻都很倉(cāng)皇而又模糊,除非你能停下來,遠(yuǎn)遠(yuǎn)地回顧——《美麗的心情》 在長(zhǎng)長(zhǎng)的一生里,為什么,歡樂總是乍現(xiàn)就凋...
    繁花朵朵開閱讀 798評(píng)論 3 8
  • 枚舉值: 它是一個(gè)整形(int) ,并且它不參加內(nèi)存的占用和釋放 枚舉定義變量即可直接使用,不用初始化 三種類型的...
    Moker_C閱讀 553評(píng)論 0 1
  • 拂面兩相看, 曉露挽輕舟。 微風(fēng)香兩岸, 醉似一沙鷗。 愛惹相思逗, 王雁幾時(shí)休。 佳境應(yīng)猶在, 病去空竹留。
    紅楓下的流氓兔閱讀 220評(píng)論 0 2

友情鏈接更多精彩內(nèi)容