ホームページ > ウェブフロントエンド > Vue.js > vue.jsにマップを導入する方法

vue.jsにマップを導入する方法

王林
リリース: 2021-10-05 13:20:28
オリジナル
3927 人が閲覧しました

vue.js にマップを導入する方法: 1. Tiantu 公式 Web サイトにアクセスしてキーを取得します; 2. 対応する src を vue プロジェクトのindex.html に導入します; 3. 新しいマップを作成します。 js ファイルは、vue ページで参照するだけです。

vue.jsにマップを導入する方法

#この記事の動作環境: Windows10 システム、vue 2.5.2、thinkpad t480 コンピューター。

vue プロジェクトにマップを導入するには、実際にはさまざまな方法があります。たとえば、sky Map や vue-amap light の機能を使用できます。どちらの方法にもそれぞれ利点があり、ニーズに応じて選択できます。 。今回はmapメソッドの紹介です。

具体的な方法の手順は次のとおりです。


最初のステップは、Tiantu 公式 Web サイトに従って独自のキー (キー) を取得することです

2 番目のステップ対応する src を vue プロジェクトのindex.html に導入することです。

<script src="//api.tianditu.gov.cn/api?v=4.0&tk=396a532e3cc05a260931d1b308636316"></script>
ログイン後にコピー

3 番目のステップでは、Tiantu の導入を容易にするための js ファイル Map.js を作成します。このファイルは、簡単に導入できる場所に配置できます。 Map.js のコードは次のとおりです。

// 初始化地图
export default {
  init() {
    return new Promise((resolve, reject) => {
      // 如果已加载直接返回
      if (window.T) {
        console.log(&#39;地图脚本初始化成功...&#39;)
        resolve(window.T)
        reject(&#39;error&#39;)
      }
    })
  }
}
ログイン後にコピー

4 番目のステップは、使用する vue ページで引用できます。コードは次のとおりです

<template>
    <div class="home">
        <div id="bdmap" class="map" style ="position:absolute;bottom:0px;top:0px;width:100%"></div>
    </div>
</template>
<script>
import MapInit from "@/components/Map.js"

export default {
    data(){
        return{
            map: null,
        }
    },
    created(){
        this.init()
    },
    methods:{
        init(){
            MapInit.init().then(
            T => {
                this.T = T;
                const imageURL = "http://t0.tianditu.gov.cn/img_c/wmts?tk=您的密钥";
                const lay = new T.TileLayer(imageURL, { minZoom: 1, maxZoom: 18 });
                const config = { layers: [lay], name: &#39;TMAP_SATELLITE_MAP&#39; };
                this.map = new T.Map(&#39;bdmap&#39;, config);
                const ctrl = new T.Control.MapType();
                this.map.addControl(ctrl);
                this.map.centerAndZoom(new T.LngLat(118.62, 28.75), 16)
                this.map.addEventListener("zoomend", () => {
                console.log(lay.Pe)
            });
            }).catch()
            // 监听缩放级别(缩放后的级别)
            
        }
    }
}
</script>
<style>
.map{
    width: 100vw;
    height: 100%;
    position: absolute;
}
</style>
ログイン後にコピー

推奨される学習:

php training

以上がvue.jsにマップを導入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート