VueはOpenLayersを使用してTiandi MapとAmapを読み込み

VueはOpenLayersを使用してTiandi MapとAmapを読み込み

1. 世界地図

1. VueにOpenLayersをインストールする

npm i --save ol

ここで言及されているvue は、scaffolding に基づいて構築されています。 新しいページ、つまりvueファイルを作成し、ルーティングを構成します。その後、コードを直接入力して実行できます。

 Vue は OpenLayers を使用して Tiandi Map と Amap <template> を読み込みます。
  <div class="wrapper">
    <div>世界地図</div>
    <div class="map" id="olMap"></div>
  </div>
</テンプレート>
<スクリプト>
"ol/ol.css"をインポートします。
輸入 {
  "ol/layer" から Tile を TileLayer として変換します。
「ol/source/XYZ」からXYZをインポートします。
輸入 {
  デフォルトは defaultControls } で、"ol/control" から取得されます。
「ol/Map.js」からマップをインポートします。
「ol/View.js」から View をインポートします。
エクスポートデフォルト{
  データ() {
   戻る {
      マップ: null、
      パーサー: null、
    };
  },
  マウント() {
    このメソッドは、次のとおりです。
  },
  メソッド: {
    initMap() {
     定数マップ = 新しいマップ({
       ターゲット: "olMap",
        ビュー: 新しいビュー({
 
          center: [0, 0], //中心点の緯度と経度 zoom: 4, //レイヤーのスケーリング投影: "EPSG:4326",
        })、
        コントロール: defaultControls({
          ズーム: 真、
          帰属: 誤り、
          回転: false、
        })、
      });
      this.map = マップ;
      // マップを追加 let url = "http://t{0-7}.tianditu.com/DataServer?x={x}&y={y}&l={z}";
      url = `${
   url}&T=vec_c&tk=キーを置き換えます`;
      constソース = 新しいXYZ({
     URL: URL、
        投影: "EPSG:4326",
      });
      const tdtLayer = 新しい TileLayer({
        出典: 出典、
      });
      this.map.addLayer(tdtLayer);
      // アノテーションを追加 url = "http://t{0-7}.tianditu.com/DataServer?x={x}&y={y}&l={z}";
      url = `${
   url}&T=cva_c&tk=キーを置き換えます`;
      const ソースCVA = 新しい XYZ({
        URL: URL、
        投影: "EPSG:4326",
      });
      const tdtcvaLayer = 新しい TileLayer({
        出典: sourceCVA、
      });
      マップにレイヤーを追加します。
    },
  },
};
</スクリプト>
<スタイルスコープ>
.map {
  幅: 100%;
  高さ:100vh;
}
</スタイル>

世界地図が表示されます。

効果画像:

2. アマップ

Tiandi Mapと比べると、Amapははるかに簡単です。コードにアクセスするだけです

<テンプレート>
  <div class="wrapper">
    <div>アマップ</div>
    <div id="マップ"></div>
  </div>
</テンプレート>
<スクリプト>
輸入 {
 マップ、ビュー、機能} 'ol' から

'ol/proj' から olProj として * をインポートします
輸入 {
 'ol/geom' から {Point}
輸入 {
  Style、Fill、Stroke、Circle を sCircle として追加します } from "ol/style";
// レイヤーを追加 import Tilelayer from 'ol/layer/Tile'
輸入 {
 'ol/layer' から Vector を VectorLayer として変換します
輸入 {
 'ol/source' から、XYZ、Vector を VectorSource として取得します。
//スタイルファイルをインポートする import "ol/ol.css"
エクスポートデフォルト{
  データ() {
  戻る {
    マップ:null
    }
  },
  マウント() {
  これを初期化します。
   マーカーを設定します。
  },
  メソッド: {
    初期化(){
       this.map = 新しいマップ({
         ターゲット: 'マップ',
         レイヤー:[新しいタイルレイヤー({
           ソース: 新しいXYZ({
               url:'https://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
           })
         })
         ]、
        ビュー:新しいビュー({

            // 西安を地図の中心とする // olProj.fromLonLat メソッドは経度と緯度を対応する座標に変換します。中心: olProj.fromLonLat([108.945951, 34.465262]),
          ズーム:2
        })、
       })
    },
    setMarker(){
        _style = 新しいスタイル({
            イメージ:新しいsCircle({
                半径:10,
                ストローク:新しいストローク({
                    色:"#fff",
                })、
                塗りつぶし: 新しい塗りつぶし({
                    色:'#3399CC',
                })、
            })、
        });
        _feature = 新しいFeature({
 
            ジオメトリ:新しいポイント(olProj.fromLonLat([108.945951, 34.465262]))、
        });
        _feature.setStyle(_style);
        _marker = 新しい VectorLayer({

            ソース: 新しい VectorSource({
               機能:[_feature],
            })、
        });
        マップにレイヤーを追加します(_marker);
    },
  },
}
</スクリプト>
<スタイルスコープ>
  #地図{
      /* 画面の幅と高さ */
    幅:100vw;
    高さ:100vh;
  }
</スタイル>

Vue が OpenLayers を使用して Tiandi Map と Amap をロードする方法について説明したこの記事はこれで終わりです。OpenLayers による Tiandi Map と Amap のロードに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • VueはTiandi Mapとopenlayersを使用して、複数のベースマップオーバーレイ表示効果を実現します。
  • vue-openlayers はマップ座標ポップアップボックス効果を実現します
  • Vue は Gaode マップのサンプルコードを呼び出す
  • Amap とその UI コンポーネントを Vue プロジェクトに導入する方法
  • Vue Baidu Map + 位置の詳細な説明
  • Vue Echarts は視覚的な世界地図のコード例を実装します
  • VueプロジェクトでBaidu Map APIを呼び出す方法の詳細な説明
  • Vueがローカル画像を動的に読み込む問題を解決する
  • Vue-Cli 3.0 で Amap を設定する 2 つの方法
  • VueはOpenLayersを使ってマップを作成する

<<:  ウェブサイトのAboutページの紹介コンテンツの書き方

>>:  CSS スタイル分類入門(基礎知識)

推薦する

Webpack4プラグインの実装原理についての簡単な説明

目次序文知る練習すれば完璧になる序文wabpack では、ローダーの他にプラグインがコア機能です。プ...

一般的でない js 演算演算子の概要

目次2. カンマ演算子3. JavaScript Null 結合演算子 (??) 4. JavaSc...

Eclipse と IDEA 用に Tomcat サーバーを構成する方法

tomcat サーバーの構成誰もが Web について学習するときに、自分のツール用に Tomcat ...

canvas.toDataURL image/png エラー処理方法の推奨

問題の背景:再生中のビデオのスクリーンショットを撮る必要があります。ビデオはビデオタグを使用して再生...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

Raspberry Pi 3B+ に 64 ビット Ubuntu システムと Docker ツールをインストールする詳細な手順

Raspberry Pi 3B に 64 ビット アプリケーション (64 ビット JDK など) ...

MySQL のストレージ エンジンの違いと比較

MyISAM ストレージエンジンMyISAM は ISAM ストレージ エンジンに基づいており、それ...

Vueはシンプルなコメント機能を実装します

この記事では、Vueの簡単なコメント機能を実装するための具体的なコードを参考までに共有します。具体的...

SQLシリアル番号取得コード例

この記事は主にSQLシリアル番号取得コード例を紹介します。記事ではサンプルコードを詳細に紹介しており...

ウィンドウ表示効果を実現するJavaScript

この記事では、ウィンドウ表示効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

スライダー効果を実装するミニプログラム

この記事の例では、スライディングブロック効果を実現するための小さなプログラムの具体的なコードを参考ま...

Linuxのpasswdコマンドの使用

1. コマンドの紹介passwd コマンドは、ユーザー パスワード、アカウント ロック、パスワードの...

タイムライン効果を実現するCSS3

最近、コンピューターの電源を入れたところ、Geek Academy が新規ユーザーに 1 か月の無料...

XHTML 入門チュートリアル: XHTML Web ページ画像アプリケーション

<br />適度に画像を追加すると、Web ページがより美しくなります。 画像タグ &l...