国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在vue3項(xiàng)目中使用新版高德地圖

這篇具有很好參考價(jià)值的文章主要介紹了在vue3項(xiàng)目中使用新版高德地圖。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

高德開(kāi)發(fā)平臺(tái) :?高德開(kāi)放平臺(tái) | 高德地圖API (amap.com)

1. 首先你要注冊(cè)好賬號(hào)登錄

在vue3項(xiàng)目中使用新版高德地圖

2. 獲取key和密鑰?

在vue3項(xiàng)目中使用新版高德地圖

?在vue3項(xiàng)目中使用新版高德地圖

自2021年12月02日升級(jí),升級(jí)之后所申請(qǐng)的 key 必須配備安全密鑰?jscode?一起使用

在vue3項(xiàng)目中使用新版高德地圖

NPM方式安裝和使用(基礎(chǔ)版):

????????按 NPM 方式安裝使用 Loader :

npm i @amap/amap-jsapi-loader --save

????????在頁(yè)面中通過(guò)NPM 方式安裝的使用 :

<template>
    <div class="app-container">
        <div style="background-color: #ffffff;">
            <div id="container"></div>
        </div>
    </div>
</template>

<script setup>
import AMapLoader from '@amap/amap-jsapi-loader';
/*在Vue3中使用時(shí),需要引入Vue3中的shallowRef方法(使用shallowRef進(jìn)行非深度監(jiān)聽(tīng),
因?yàn)樵赩ue3中所使用的Proxy攔截操作會(huì)改變JSAPI原生對(duì)象,所以此處需要區(qū)別Vue2使用方式對(duì)地圖對(duì)象進(jìn)行非深度監(jiān)聽(tīng),
否則會(huì)出現(xiàn)問(wèn)題,建議JSAPI相關(guān)對(duì)象采用非響應(yīng)式的普通對(duì)象來(lái)存儲(chǔ))*/
import { shallowRef } from '@vue/reactivity';
import {ref} from "vue";

// const map = shallowRef(null);
const path = ref([]);
const current_position = ref([]);

function initMap() {
    window._AMapSecurityConfig = {
        securityJsCode: '8e920f73eb2e6880a92ea6662eefc476',
    }
    AMapLoader.load({
        key:"e4e3d44a98350790a1493450032bbec5", // 申請(qǐng)好的Web端開(kāi)發(fā)者Key,首次調(diào)用 load 時(shí)必填
        version:"2.0", // 指定要加載的 JSAPI 的版本,缺省時(shí)默認(rèn)為 1.4.15
        plugins:[''], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
    }).then((AMap)=>{
        const map = new AMap.Map("container",{  //設(shè)置地圖容器id
            viewMode:"3D",    //是否為3D地圖模式
            zoom:13,           //初始化地圖級(jí)別
            center:[113.808299,34.791787], //初始化地圖中心點(diǎn)位置
        });
        
    }).catch(e=>{
        console.log(e);
    })
}

    initMap()
</script>

<style>
#container{
    padding:0px;
    margin: 0px;
    width: 100%;
    height: 800px;
}
</style>

完整代碼:

<template>
    <div class="app-container">
        <div style="background-color: #ffffff;">
            <div id="container"></div>
        </div>
    </div>
</template>

<script setup>
import AMapLoader from '@amap/amap-jsapi-loader';
/*在Vue3中使用時(shí),需要引入Vue3中的shallowRef方法(使用shallowRef進(jìn)行非深度監(jiān)聽(tīng),
因?yàn)樵赩ue3中所使用的Proxy攔截操作會(huì)改變JSAPI原生對(duì)象,所以此處需要區(qū)別Vue2使用方式對(duì)地圖對(duì)象進(jìn)行非深度監(jiān)聽(tīng),
否則會(huì)出現(xiàn)問(wèn)題,建議JSAPI相關(guān)對(duì)象采用非響應(yīng)式的普通對(duì)象來(lái)存儲(chǔ))*/
import { shallowRef } from '@vue/reactivity';
import {ref} from "vue";

// const map = shallowRef(null);
const path = ref([]);
const current_position = ref([]);


function initMap() {
    window._AMapSecurityConfig = {
        securityJsCode: '8e920f73eb2e6880a92ea6662eefc476',
    }
    AMapLoader.load({
        key:"e4e3d44a98350790a1493450032bbec5", // 申請(qǐng)好的Web端開(kāi)發(fā)者Key,首次調(diào)用 load 時(shí)必填
        version:"2.0", // 指定要加載的 JSAPI 的版本,缺省時(shí)默認(rèn)為 1.4.15
        // plugins:[''], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
    }).then((AMap)=>{
        const map = new AMap.Map("container",{  //設(shè)置地圖容器id
            viewMode:"3D",    //是否為3D地圖模式
            zoom:13,           //初始化地圖級(jí)別
            center:[113.808299,34.791787], //初始化地圖中心點(diǎn)位置
        });
        // 添加插件
        AMap.plugin(["AMap.ToolBar", "AMap.Scale", "AMap.HawkEye","AMap.Geolocation","AMap.MapType","AMap.MouseTool"], function () {
            //異步同時(shí)加載多個(gè)插件
            // 添加地圖插件
            map.addControl(new AMap.ToolBar()); // 工具條控件;范圍選擇控件
            map.addControl(new AMap.Scale()); // 顯示當(dāng)前地圖中心的比例尺
            map.addControl(new AMap.HawkEye()); // 顯示縮略圖
            map.addControl(new AMap.Geolocation()); // 定位當(dāng)前位置
            map.addControl(new AMap.MapType()); // 實(shí)現(xiàn)默認(rèn)圖層與衛(wèi)星圖,實(shí)時(shí)交通圖層之間切換

            // 以下是鼠標(biāo)工具插件
            const mouseTool = new AMap.MouseTool(map);
            // mouseTool.rule();// 用戶手動(dòng)繪制折線圖,測(cè)量距離
            mouseTool.measureArea(); // 測(cè)量面積
        });
        // 單擊
        map.on('click',(e) => {
            // lng ==> 經(jīng)度值  lat => 維度值
            current_position.value = [e.lnglat.lng,e.lnglat.lat];
            path.value.push([e.lnglat.lng,e.lnglat.lat]);
            // addMarker();
            // addPolyLine();
        })


        // 實(shí)例化點(diǎn)標(biāo)記
        // 第一種(封成函數(shù)來(lái)觸發(fā))
        function addMarker() {
            const marker = new AMap.Marker({
                icon: "http://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
                position: current_position.value, // 這里我們通過(guò)上面的點(diǎn)擊獲取經(jīng)緯度坐標(biāo),實(shí)時(shí)添加標(biāo)記
                // 通過(guò)設(shè)置 offset 來(lái)添加偏移量
                offset: new AMap.Pixel(-26, -54),
            });
            marker.setMap(map);
        }
        // 第二種 直接寫(xiě)死 position 的經(jīng)緯度值
        /*const marker = new AMap.Marker({
            icon: "http://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
            position: [113.808299,34.791787],
            // 通過(guò)設(shè)置 offset 來(lái)添加偏移量
            offset: new AMap.Pixel(-26, -54),
        });
        marker.setMap(map);*/


        // 折線
        function addPolyLine() {
            const polyline = new AMap.Polyline({
                path: path.value,
                isOutline: true,
                outlineColor: "#ffeeff",
                borderWeight: 1,
                strokeColor: "#3366FF",
                strokeOpacity: 0.6,
                strokeWeight: 5,
                // 折線樣式還支持 'dashed'
                strokeStyle: "solid",
                // strokeStyle是dashed時(shí)有效
                // strokeDasharray: [10, 5],
                lineJoin: "round",
                lineCap: "round",
                zIndex: 50,
            });
            map.add([polyline]);
        }



    }).catch(e=>{
        console.log(e);
    })
}

initMap()
</script>

<style>
#container{
    padding:0px;
    margin: 0px;
    width: 100%;
    height: 800px;
}
</style>

地圖插件效果圖:

在vue3項(xiàng)目中使用新版高德地圖

實(shí)例化點(diǎn)標(biāo)記 :

? ? ? ? 第一種方式效果:在vue3項(xiàng)目中使用新版高德地圖

? ? ? ? ?第二種方式效果:

在vue3項(xiàng)目中使用新版高德地圖

?矢量圖 --> 折線:

在vue3項(xiàng)目中使用新版高德地圖文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-418583.html

到了這里,關(guān)于在vue3項(xiàng)目中使用新版高德地圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • VUE3+Ts使用高德地圖組件@vuemap/vue-amap語(yǔ)法檢測(cè)Amap is not defind

    VUE3+Ts使用高德地圖組件@vuemap/vue-amap語(yǔ)法檢測(cè)Amap is not defind

    踩坑記錄:最近項(xiàng)目中用到了@vuemap/vue-amap高德地圖組件,正常配置完成后,引入官方示例,地圖正常出現(xiàn),可以正常編譯不出錯(cuò),但是代碼提示給我整了個(gè)這。 于是,開(kāi)始查資料,為什么會(huì)出現(xiàn)這個(gè)情況,然后是因?yàn)樵趍ain.js導(dǎo)入的名字VueMap和高德自己全局暴露AMap不是一碼事

    2024年02月06日
    瀏覽(25)
  • Vue3+Vite連接高德地圖JS API——地圖顯示、輸入搜索

    Vue3+Vite連接高德地圖JS API——地圖顯示、輸入搜索

    1、進(jìn)入高德地圖API官網(wǎng)(https://lbs.amap.com/): 2、注冊(cè)登錄。 3、進(jìn)入控制臺(tái)。 4、點(diǎn)擊“應(yīng)用管理”,點(diǎn)擊“我的應(yīng)用”,創(chuàng)建新應(yīng)用。 5、添加Key,服務(wù)平臺(tái)選擇“Web端(JS API)”,白名單不要填寫(xiě),勾選閱讀并同意。 點(diǎn)擊提交后,就能看到Key已經(jīng)生成,記住這里的Key和安

    2024年01月17日
    瀏覽(24)
  • 高德地圖系列(三):vue項(xiàng)目利用高德地圖實(shí)現(xiàn)地址搜索功能

    高德地圖系列(三):vue項(xiàng)目利用高德地圖實(shí)現(xiàn)地址搜索功能

    目錄 第一章 效果圖 第二章 源代碼 高德地圖為我們提供了搜索聯(lián)想,以及搜索結(jié)果標(biāo)記,該案例已將基礎(chǔ)功能打通,后續(xù)我們肯定還會(huì)對(duì)功能有所修改,想實(shí)現(xiàn)自己想要的效果,基本上看高德地圖文檔對(duì)著改就好了(跟我們用別的工具一樣做即可)? 代碼描述如下: ?注意事

    2024年02月03日
    瀏覽(15)
  • 前端系列19集-vue3引入高德地圖,響應(yīng)式,自適應(yīng)

    前端系列19集-vue3引入高德地圖,響應(yīng)式,自適應(yīng)

    npm i @amap/amap-jsapi-loader --save 要在Vue 3中引入高德地圖,你可以按照以下步驟進(jìn)行操作: 在項(xiàng)目目錄中使用npm或yarn安裝高德地圖的JavaScript API庫(kù)。你可以使用以下命令之一: npm install @amap/amap-jsapi-loader yarn add @amap/amap-jsapi-loader 在Vue組件中引入并使用高德地圖。 在你的Vue組件中

    2024年02月07日
    瀏覽(20)
  • VUE3+TS+element UI +高德地圖實(shí)現(xiàn)軌跡回放帶進(jìn)度條

    VUE3+TS+element UI +高德地圖實(shí)現(xiàn)軌跡回放帶進(jìn)度條

    記錄一下,由于項(xiàng)目需要做車(chē)輛的歷史軌跡回放,查了很多資料,在高德地圖里有這幾種解決方案。 所用技術(shù):vue3 + TS +element UI plus +高德地圖 ?這是相關(guān)的Demo借鑒 高德地圖的軌跡回放demo 軌跡巡航器控制 高德地圖Amap UI 下面是效果圖: 1,這是高德地圖提供的軌跡回放demo

    2024年02月11日
    瀏覽(46)
  • Vue項(xiàng)目中引入高德地圖步驟詳解

    Vue項(xiàng)目中引入高德地圖步驟詳解

    高德地圖API官網(wǎng):高德開(kāi)放平臺(tái) | 高德地圖API。 目錄 一、案例效果 二、開(kāi)發(fā)準(zhǔn)備 1. 注冊(cè)高德開(kāi)放平臺(tái)賬號(hào) 2. 創(chuàng)建應(yīng)用添加 key 值 三、項(xiàng)目中使用地圖組件 1. npm 獲取高德地圖 API 2.在項(xiàng)目中新建 MapContainer.vue 文件,用作地圖組件。 3.在 MapContainer.vue 地圖組件中創(chuàng)建 div 標(biāo)簽作

    2024年02月03日
    瀏覽(26)
  • vue前端項(xiàng)目引用高德離線地圖

    vue前端項(xiàng)目引用高德離線地圖

    由于上一篇下載離線地圖瓦片的工具有問(wèn)題,需要更換工具重新下載離線瓦片,步驟如下: 1.1用MapDownloader,下載離線地圖瓦片 工具提取碼: mmdl 需要對(duì)工具作如下配置 : MapDownloader.exe.config 文件進(jìn)行修改 保存之后運(yùn)行 MapDownloader.exe文件 1.2 選擇mysql數(shù)據(jù)庫(kù),然后選擇要下載得地

    2024年02月08日
    瀏覽(28)
  • vue項(xiàng)目接入高德地圖點(diǎn)擊地圖獲取經(jīng)緯度及省市區(qū)

    vue項(xiàng)目接入高德地圖點(diǎn)擊地圖獲取經(jīng)緯度及省市區(qū)

    準(zhǔn)備工作,可以先看官方的介紹,JSAPI結(jié)合Vue使用,這個(gè)不需要在main.js中引入 index.html中 index.vue的html部分 index.vue的script部分 index.vue的css部分 頁(yè)面效果 逆解析經(jīng)緯度得到的詳細(xì)地址

    2024年02月16日
    瀏覽(25)
  • vue中引入并使用高德地圖

    vue中引入并使用高德地圖

    1.進(jìn)入高德開(kāi)放平臺(tái) 2.點(diǎn)擊: 開(kāi)發(fā)支持---------地圖JS AP---------JSAPI的加載 3.選擇 按NPM方式使用loader 4.定義一個(gè)有寬高的div,書(shū)寫(xiě)以下代碼: 先放效果圖,左下角是可供選擇的鼠標(biāo)樣式 1.點(diǎn)擊示例中心---------地圖屬性-------下劃找到 設(shè)置鼠標(biāo)樣式 2.點(diǎn)進(jìn)去后有示例代碼 3.這是之前

    2024年02月03日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包