JavaScript で Baidu Maps API にアクセスする方法と手順

JavaScript で Baidu Maps API にアクセスする方法と手順

1. Baidu Map API アクセス

1. Baidu Map開発プラットフォームを検索

2. Baiduアカウントを登録する

3. ログインして開発者になるために応募する

4. Baidu Map Development Platformのホームページでコンソールを選択し、コンソールでアプリケーションを作成します。

画像.png

アプリケーションを作成すると、コンソールの [マイ アプリケーション] に表示されます。最も重要なのは AK です。これは、Baidu Maps によってアプリケーションに割り当てられた特別なキーです。Baidu Maps API にアクセスするには、このキーを使用する必要があります。

画像.png

2. HTML で Baidu Map API を使用する

1. HTMLにBaiduマップのjsファイルを導入する

<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.0&type=webgl&ak=キー"></script>

ak の後の値を独自の秘密鍵に置き換えます。

2. Webページに地図を表示するためのDIVを定義する

マップを表示する DIV には id 属性が必要です。

画像.png

3. Webページに地図を表示する

基本的な手順:

var map = new BMapGL.Map("container"); // マップインスタンスを作成します var point = new BMapGL.Point(116.404, 39.915); // 地理的位置の緯度と経度でポイント座標を作成します map.centerAndZoom(point, 15); // マップを初期化し、中心点の座標とマップレベルを設定します

オプションの手順:

map.centerAndZoom(point, 15); // マップを初期化し、中心点の座標とマップ レベルを設定します。map.enableScrollWheelZoom(true); // マウス ホイール ズームを有効にします。map.setMapType(BMAP_EARTH_MAP); // マップ タイプを地球モードに設定します。

4. オプションのコントロールを追加する

var scaleCtrl = new BMapGL.ScaleControl(); // スケールを追加します controlmap.addControl(scaleCtrl);
var zoomCtrl = new BMapGL.ZoomControl(); // ズームコントロールを追加します。map.addControl(zoomCtrl);
var cityCtrl = new BMapGL.CityListControl(); // 都市リストを追加します controlmap.addControl(cityCtrl);
var locationControl = new BMapGL.LocationControl(); // 配置を追加します controlmap.addControl(locationControl);

5. 位置決め機能

Baidu Maps はブラウザ位置特定と IP 位置特定をサポートしています。ブラウザ位置特定が失敗した場合、デフォルトで IP 位置特定が使用されます。ブラウザによる位置特定はより正確ですが、IP による位置特定ではおおよその位置しか特定できません。

Baidu Mapsの組み込み測位制御はIP測位を使用しない

 //現在の地理的位置を取得し、地図の中心を位置決め位置に移動します。 var geolocation = new BMapGL.Geolocation(); //位置決めオブジェクトを作成します。 geolocation.getCurrentPosition(function (r) { //位置決めオブジェクトを通じて位置決め関数を呼び出します。コールバック関数のパラメーター r は位置決め結果を表します。 if (this.getStatus() == BMAP_STATUS_SUCCESS) { //位置決めが成功した場合 var mk = new BMapGL.Marker(r.point); //マーカーを作成します。r は位置決め結果、r.point は現在の位置です。 map.addOverlay(mk); //マーカー オブジェクトをマップに追加します。 map.panTo(r.point); //地図の中心を位置決め位置に移動します。 // alert('現在地: ' + r.point.lng + ',' + r.point.lat);
  }
  それ以外 {
    アラート('失敗' + this.getStatus());
  }
});

6. マップマーカーを追加する

  //マップにクリックイベントを追加しますmap.addEventListener("click",function(e){
  //パラメータ名 e マップクリックイベントソース //console.log(e.latlng.lng+","+e.latlng.lat);
  var mk = new BMapGL.Marker(e.latlng); //マーカーを作成します。rは測位結果、r.pointは現在の位置です。map.addOverlay(mk); //マーカーオブジェクトをマップに追加します。})

7. マップマーカーにクリックイベントを追加する

 //マップにクリックイベントを追加しますmap.addEventListener("click",function(e){
  //パラメータ名 e マップクリックイベントソース //console.log(e.latlng.lng+","+e.latlng.lat);
  var mk = new BMapGL.Marker(e.latlng);//マーカーを作成します。r は測位結果、r.point は現在の位置です。mk.addEventListener("click",function(){//マーカーにクリック イベントを追加します。console.log(this);//this はマーカーを参照します。//マーカーはマップ オブジェクト map のサブタグであるため、マーカーをクリックするとバブルが表示され、マップのクリック イベントもトリガーされます。//イベント ソース オブジェクトの stopPropagation 関数を使用して、後続のイベント バブルを整理できます。event.stopPropagation();
  });
  map.addOverlay(mk); //マーカーオブジェクトをマップに追加します})

8. 情報ウィンドウの追加

//情報ウィンドウを追加する(カプセル化された関数)
関数 addInfoWindow(コンテンツ、ポイント、幅、高さ、タイトル) {
  //必須パラメータコンテンツとポイント
  //コンテンツはテキストまたはラベルのいずれかです //ポイントは地理的位置の緯度と経度です //次の3つのパラメータはオプションです var opts = {
    width: 幅、// 情報ウィンドウの幅 height: 高さ、// 情報ウィンドウの高さ title: タイトル、// 情報ウィンドウのタイトル}
  var infoWindow = new BMapGL.InfoWindow(content, opts); // 情報ウィンドウオブジェクトを作成します。 map.openInfoWindow(infoWindow, point); // 情報ウィンドウを開きます。 }

9. 経路計画

運転ルートの計画

//運転ルート計画オブジェクト //このオブジェクトは、マップが読み込まれた後に作成する必要があります。通常、マップ オブジェクト マップが作成された後に配置されます。また、Web ページは 1 回だけ作成する必要があります。そうしないと、最後に計画されたパスがクリアされません。 driving = new BMapGL.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true } });
// パス計画オブジェクトを使用してルートを検索します driving.clearResults(); // マップから最後に計画したパスをクリアします driving.search(startPoint, endPoint); // パス計画を開始し、開始点と終了点を渡します

バス路線計画

//バス路線計画オブジェクト //バス路線計画オブジェクトの作成は、マップが読み込まれた後に行う必要があります。通常、マップオブジェクトマップが作成された後に配置されます。また、Web ページは 1 回だけ作成する必要があります。そうしないと、最後に計画されたルートがクリアされません。transit = new BMapGL.TransitRoute(map, {
  レンダリングオプション: { マップ: マップ },
  onSearchComplete: 関数 (結果) {
    (transit.getStatus() != BMAP_STATUS_SUCCESS) の場合 {
      戻る;
    }
    //alert(results.getNumPlans());//バス計画スキームの合計数を取得します//ここでバスルート計画表示用の HTML テンプレートを設計します var output = '';
    for(var i=0;i<results.getNumPlans();i++){
      var プラン = results.getPlan(i);
      output +='<div style="margin-top:5px; background-color:#CCC"><p>合計所要時間:'+plan.getDuration(true)+'</p>';//時間を取得output += '<p>合計距離:'+plan.getDistance(true)+'</p>'; //距離を取得output +=plan.getDescription(true)+"</div>";
    }
    $('#result').css('display', 'block'); //#result は独自に定義した div です。絶対位置指定で非表示にします。パス プランニングが正常に表示されます。$('#result').html(output); // 組み立てられたパス プランニング HTML タグ テンプレートを #result div に配置して表示します。},
});
transit.clearResults(); // 最後に計画したルートをクリア transit.search(startPoint, endPoint); // バスルートの計画

10. 順方向および逆方向のアドレス解決

緯度と経度に基づいて場所を検索する

// ジオコーディングインスタンスを作成します。var myGeo = new BMapGL.Geocoder();      
// 座標に基づいて住所の説明を取得します。myGeo.getLocation(経度と緯度の座標、function(result){
    //関数は特定の地理情報が見つかった後にのみ実行されるコールバック関数です。if (result){      
      アラート(結果.アドレス);      
    }      
});

地理的位置に基づいて緯度と経度の座標を照会する

// アドレス パーサー インスタンスを作成します。var myGeo = new BMapGL.Geocoder();
// 住所解決結果を地図上に表示し、地図ビューを調整します。myGeo.getPoint(address string (Hongqihegou, Chongqing), function(point){
    if(ポイント){
        //point は緯度と経度のポイントです}else{
        alert('選択したアドレスは結果に解決されませんでした!');
    }
}, オプション パラメータ) // 都市名を渡すオプション パラメータ。渡されない場合は、グローバルに検索します。都市名を渡すと、この都市のみで検索されます。

これで、JavaScript で Baidu Map API にアクセスする手順に関するこの記事は終了です。JavaScript で Baidu Map にアクセスする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 地理的位置情報をマークする Baidu マップ API アプリケーション (js バージョン)
  • jsはBaiduマップAPIを呼び出し、マップ上にポイントと注釈を追加します
  • 最も包括的なBaidu Maps JavaScriptオフラインバージョン開発
  • JSでBaidu Mapを参照し、Baidu Mapのロゴと情報を削除します
  • Baidu Maps API を使用して住所と経度と緯度を自動的に取得する JS の使用例
  • Baidu マップを通じてバス路線の駅座標を取得する js コード
  • Baidu マップの円削除を実現する JS コード
  • JavaScript は Baidu マップのマウススライドイベントの表示と非表示を実装します

<<:  Ubuntu 16.04.5LTS に SVN をインストールする手順

>>:  MySQL デッドロック シナリオ例の分析

推薦する

Vue のデータ応答性に関する詳細な理解

目次1. ES 構文のゲッターとセッター2. ES構文でのdefineProperty 3. Vue...

Tomcat ディレクトリ構造の詳細な紹介

tomcat の解凍されたディレクトリを開くと、次のディレクトリ構造が表示されます。 1.Tomca...

MySQL 8.0 のインストール中に発生した 3 つの小さなエラーの概要

序文これまで当社ではMySQLの5.7シリーズを使用していましたが、バージョン8.0のリリースに合わ...

Vue 折りたたみ表示の複数行テキスト コンポーネントの実装コード

折りたたみ表示の複数行テキストコンポーネント複数行のテキスト コンポーネントを折りたたんで表示し、展...

MySQL パフォーマンス ストレス ベンチマーク ツール sysbench の使い方の紹介

目次1. sysbenchの紹介#プロジェクトダウンロードアドレス: 2. Sysbenchのインス...

Webデザインチュートリアル(5):Webビジュアルデザイン

<br />前回の記事:Webデザイン講座(4):素材と表現について Webデザイン上級...

Linux で XFS パーティション形式のルート ディレクトリを縮小する方法

目次序文システム環境現在のシステムパーティションレイアウトデータのバックアップレスキューモードに入る...

Rails APIを使用してReactアプリケーションを構築するための詳細な手順

目次バックエンド: Rails API部分フロントエンド: React部分Reactコンポーネントa...

elasticsearchを使用してインデックスデータを定期的に削除する

1. ESを使うこともあるリソースが限られている、またはビジネス上のニーズにより、最新の期間のデータ...

Linux システムでデプロイメント プロジェクトを設定する方法

1. ファイアウォールの設定を変更し、対応するポートを開きますLinux システムのファイアウォール...

MySQL における制限関数と合計関数の混在使用の問題の詳細な説明

序文今日、注文データを同期した後、同僚は、合計注文金額とデータソースの合計金額に差があったため、LI...

NodeJSとブラウザにおけるこのキーワードの違い

序文JavaScript を学習した人なら誰でも、さまざまな環境で this がどこを指すかという問...

Eclipseを使用してMySQLデータベースに接続する方法を説明します

序文常にエラーが発生するため、MySQL データベースに接続するプロセスを記録します。接続プロセス1...

React Nativeプロジェクトフレームワークの構築経験

React Native は、2015 年 4 月に Facebook によってオープンソース化され...

意外と知らないLinuxのSSHコマンドの使い方7選を徹底解説

システム管理者は複数のサーバーを同時に管理する場合があり、これらのサーバーは異なる場所に配置されてい...