Vue3-天地圖實現(xiàn)自定義樣式信息窗口并根據(jù)經(jīng)緯度獲取地址信息

一直忘記更精耐,直接上代碼狼速。

一點碎碎念

雖然還有一些功能實現(xiàn)沒有發(fā)出來,但是后續(xù)應(yīng)該不會再更新原生天地圖API的內(nèi)容了卦停,主要有以下原因:
1向胡、以前的代碼寫的很亂,整理起來比較頭疼(真想給去年的自己一拳)惊完。
2僵芹、這些內(nèi)容都是接觸前端地圖框架之前為了完成需求所琢磨的原生天地圖API用法,在那個時候我屬于是懂點GIS但是不知道有WebGIS框架小槐,所以其實屬于比較笨的方法拇派。
3、對于要求用到天地圖的項目凿跳,我建議還是使用一個前端WebGIS框架件豌,引入天地圖作為底圖,再通過框架去實現(xiàn)各種需求控嗜。

<script setup>
import {onMounted, ref} from "vue";
var marker = null
var map 

const currentLngLat = ref([1114.51444, 22.114514])
const locateInfo = ref('')

//直接定義infoWin的內(nèi)容以及樣式
const infoWinContent = ref(" \<div class='infoWin''>\ " +
    " \<div class='infoWin-deg' style='left:266px ;rotate: 90deg '></div>\ "+
    " \<div class='infoWin-deg' style='top: 178px ;rotate: 270deg'></div>\ "+
    " \<div class='infoWin-deg'></div>\ "+
    " \<div class='infoWin-title'>所選地點詳情</div>\ "+
    "\<div class='infoWin-body' style='margin:10px 0;height: 80px '>\ " +
    " \<div id='info' class='info-r'> " +
    "  \</div>\ " +
    "\<div id='infoBtn' class='info-button' >\ " +
    "查看選址信息" +
    "\</div>\ " +
    "\</div>\ " +
    " \</div>\ "
    )

onMounted(() => {
    init();
});

const init = () => {
    //這里T指向天地圖對象
    var T = window.T
    //初始化地圖茧彤,創(chuàng)建一個新的地圖實例
    map = new T.Map("mapDiv","EPSG:4326")
    map.setMapType(window.TMAP_HYBRID_MAP )
    map.centerAndZoom(new T.LngLat(114.51444, 22.114514), 13)
    //創(chuàng)建坐標拾取組件,并設(shè)置回調(diào)函數(shù)疆栏,該組件會將拾取到的坐標點傳給回調(diào)函數(shù)
    var cp = new T.CoordinatePickup(map, {callback: handChoose})
    //啟用坐標拾取功能
    cp.addEvent()
}

const handChoose = (lnglat) => {
    //手動標點功能
    if (marker){
        map.removeOverLay(marker)
    }
    currentLngLat.value = [lnglat.lng.toFixed(6),lnglat.lat.toFixed(6)]
    marker = new T.Marker(T.LngLat(currentLngLat.value[0], currentLngLat.value[1]));
    map.addOverLay(marker)
    getDetailLocation(currentLngLat.value[0],currentLngLat.value[1])
    openInfoWin(currentLngLat.value)
    }
const getDetailLocation = (lnglat_lng, lnglat_lat) => {
    axios({
        url: "https://api.tianditu.gov.cn/geocoder",
        methods: 'post',
        params: {
            tk: 'YOUR_TOKEN',
            type: "geocode",
            postStr: "{'lon':" + lnglat_lng + ",'lat':" + lnglat_lat + ",'ver':1}"
        }})
        .then(
            (data) => {
                let addressdata = data.data
                //保存地址信息
                locateInfo.value = addressdata.result.formatted_address;
            },
        )
        .catch(
            (error) => {
                alert("獲取失敗");
            }
        )
}

const openInfoWin = (lnglat) => {
    //綁定信息窗口
    if (infoWin){
        infoWin.closeInfoWindow()
    }
    infoWin = new T.InfoWindow();
    infoWin.setLngLat(lnglat)
    infoWin.setContent(infoWinContent.value)
    marker.openInfoWindow(infoWin)
    setTimeout(()=>{
        //將地址信息顯示在span上
        let e = document.getElementById('info')
        e.append(locateInfo.value)
        document.getElementById('infoBtn').onclick = function () {
            //點擊事件
            showAddressInfo()
        };
    },500)
}

const showAddressInfo = () => {
    console.log('showAddressInfo')
}
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末棘街,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子承边,更是在濱河造成了極大的恐慌遭殉,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件博助,死亡現(xiàn)場離奇詭異险污,居然都是意外死亡,警方通過查閱死者的電腦和手機富岳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門蛔糯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人窖式,你說我怎么就攤上這事蚁飒。” “怎么了萝喘?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵淮逻,是天一觀的道長琼懊。 經(jīng)常有香客問我,道長爬早,這世上最難降的妖魔是什么哼丈? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮筛严,結(jié)果婚禮上醉旦,老公的妹妹穿的比我還像新娘。我一直安慰自己桨啃,他們只是感情好车胡,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著照瘾,像睡著了一般匈棘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上网杆,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天羹饰,我揣著相機與錄音伊滋,去河邊找鬼碳却。 笑死,一個胖子當著我的面吹牛笑旺,可吹牛的內(nèi)容都是我干的昼浦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼筒主,長吁一口氣:“原來是場噩夢啊……” “哼关噪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乌妙,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤使兔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后藤韵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虐沥,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年泽艘,在試婚紗的時候發(fā)現(xiàn)自己被綠了欲险。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡匹涮,死狀恐怖天试,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情然低,我是刑警寧澤喜每,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布务唐,位于F島的核電站,受9級特大地震影響灼卢,放射性物質(zhì)發(fā)生泄漏绍哎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一鞋真、第九天 我趴在偏房一處隱蔽的房頂上張望崇堰。 院中可真熱鬧,春花似錦涩咖、人聲如沸海诲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽特幔。三九已至,卻和暖如春闸昨,著一層夾襖步出監(jiān)牢的瞬間蚯斯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工饵较, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拍嵌,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓循诉,卻偏偏與公主長得像横辆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子茄猫,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

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