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 デッドロック シナリオ例の分析

推薦する

IE6 フォントを定義できません: 13px サイズは無効です。IE6 は自動的に大きいフォント ソリューションを表示します。

数日前、Web ページのモジュールを調整していたとき、ページのフォント サイズを 13px に設定し...

JSを使用して画像を効果的に圧縮する方法

目次序文変換関係具体的な実装file2DataUrl(ファイル、コールバック) file2Image...

Vue.jsは音楽プレーヤーを実装します

この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...

Linux/Mac MySQL パスワードを忘れた場合の対処方法

Linux/Mac の MySQL パスワードを忘れた場合はどうすればいいですか?心配しないでくださ...

Linux で FastDFS を使用してイメージ サーバーを構築する

目次サーバー計画1. システムコンポーネントをインストールする2. fastdfsをインストールする...

コンテンツタイプの説明、つまりHTTPリクエストヘッダーのタイプ

コンテンツ タイプについて学ぶには、まずそれが何であるか、そして何に使用されるかを知る必要があります...

Linux カーネル デバイス ドライバー キャラクタ デバイス ドライバー ノート

/******************** * キャラクターデバイスドライバー**********...

mysql トリガーの作成と使用例

目次トリガーとは何かトリガーを作成するMySQL 作成構文のキーワードの説明: 1. MySQL ト...

MySQL インデックスのカーディナリティの概念と使用例

この記事では、例を使用して、MySQL インデックス カーディナリティの概念と使用方法を説明します。...

Webデザインチュートリアル(8):Webページの階層と空間デザイン

<br />前回の記事:Webデザイン講座(7):Webページ制作の効率化1:必要な小言...

一般的な Linux ディストリビューションのミラーソース構成の概要

最近 Linux を研究していて、いくつかの Linux ディストリビューションを試してみましたが、...

Vue3 (V) HTTPライブラリaxiosの統合の詳細

目次1. axiosをインストールする2. アクシオスの使用1.ホームページでaxiosを参照する2...

Ubuntu 12.04 でカーネルツリーを構築する実装プロセスの詳細な説明

まず使用しているカーネルのバージョンを確認してくださいlin@lin-仮想マシン:~$ uname ...

継続的インテグレーションテストにおけるDocker Swarmの適用の詳細な説明

背景アジャイル モデルは広く使用されており、テストは特に重要です。新しいバージョンは頻繁にリリースす...

MySQLとOracleの違いのまとめ(機能性能の比較、選択、使用時のSQLなど)

1. 同時実行性同時実行性は OLTP データベースの最も重要な機能ですが、同時実行性にはリソース...