ホームページ >バックエンド開発 >PHPチュートリアル >Baidu Map API を PHP に統合する方法

Baidu Map API を PHP に統合する方法

WBOY
WBOYオリジナル
2023-05-23 08:34:351313ブラウズ

社会の発展に伴い、私たちの生活は地図ナビゲーションと切り離せないものになっています。 Web 開発では、マップ API を利用してマップ操作を簡単に実装できます。最も人気のある地図サービスプロバイダーとして、Baidu Maps の API 統合と使用もますます注目を集めています。この記事では、Baidu Map API を PHP に統合して地図アプリケーション開発を実現する方法を紹介します。

1. AK と SK の登録と取得

Baidu Map API を使用する前に、[Baidu Map Open Platform](https://lbsyun.baidu.com) に登録して取得する必要があります。 /) AKとSK。 AKはBaidu Map APIにアクセスするための認証キー、SKはAKに対応するセキュリティ検証キーです。 AK と SK を取得するための具体的なプロセスは次のとおりです。

  1. Baidu アカウントを登録し、Baidu Map オープン プラットフォームにログインします。
  2. 右上隅の「コンソール」をクリックし、「アプリケーションの作成」を選択します。
  3. 実際の必要に応じてアプリケーション名、アプリケーションの種類などを入力し、作成申請を送信します。
  4. 作成が成功したら、アプリケーション管理ページにアクセスすると、アプリケーションの AK と SK が表示されます。

2. HTTP API 経由で Baidu Map を呼び出す

Baidu Map API は、JavaScript API、HTTP API、モバイル SDK などのさまざまなインターフェイスを提供します。このうち、HTTP API は HTTP リクエストを通じて Baidu 地図サービスに直接アクセスでき、非常に強力で使いやすいため、ここでは HTTP API の統合方法を紹介します。

HTTP API 呼び出しはネットワーク リクエストを通じて実装され、PHP の cURL ライブラリと json_decode 関数の使用が必要です。具体的な手順は次のとおりです。

  1. cURL ライブラリを使用して、Baidu Map API に HTTP アクセス リクエストを送信し、応答を取得します。上記のコードの

    //百度地图HTTP API接口地址
    $url = "http://api.map.baidu.com/place/v2/search?query=美食&region=上海&output=json&ak=your_ak";
    //初始化cURL
    $curl = curl_init($url);
    
    //设置请求选项
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//忽略SSL证书
    //发送请求
    $response = curl_exec($curl);
    
    //关闭cURL
    curl_close($curl);

    $url は、Baidu Map API によって提供される HTTP API インターフェイス アドレスです。クエリ パラメータは検索キーワードを表し、region パラメータは検索エリアを表し、output パラメータは出力形式を表します。 (ここでは json 形式を使用します)、ak パラメーターは以前に取得した AK 値です。

  2. HTTP 応答結果の解析

    Baidu Map API の HTTP 応答結果は JSON 形式のテキスト データであり、PHP の json_decode 関数を使用して配列に解析する必要があります。加工用に。上記のコードの

    //解析JSON字符串
    $result = json_decode($response, true);

    $result は解析された配列です。

  3. 解析結果の利用

    解析結果は、情報表示や距離計算など、必要に応じて利用できます。

3. JavaScript API を介して Baidu Map を呼び出す

JavaScript API は Baidu Map API の中核部分であり、Web 上で使用できる包括的でインタラクティブな地図サービスを提供します。ウェブおよびモバイル開発。 PHP を介して JavaScript API を統合すると、より柔軟で使いやすい地図アプリケーションを実現できます。具体的な手順は次のとおりです。

  1. Baidu Maps の JavaScript API を HTML ページに導入します。上記のコードの

    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=your_ak"></script>

    your_ak は、以前に取得した AK 値です。

  2. マップ オブジェクトを作成し、関連する設定を行います。

    //创建地图对象
    var map = new BMap.Map("map-container");
    
    //设置地图中心点和缩放级别
    var point = new BMap.Point(121.479, 31.231);
    map.centerAndZoom(point, 15);
    
    //添加控件
    map.addControl(new BMap.NavigationControl()); //添加缩放控件
    map.addControl(new BMap.ScaleControl()); //添加比例尺控件
    
    //开启鼠标滚轮缩放
    map.enableScrollWheelZoom(true);

    上記のコードのマップはマップ オブジェクト、map-container はマップ コンテナの ID 値、point はマップの中心点の経度と緯度の座標を表し、15 は初期ズーム レベルを表します。 。

  3. オーバーレイをマップに追加します。

    オーバーレイとは、地図上に表示される点、線、領域などのグラフィックを指します。 Baidu Maps は、マークされたポイント、情報ウィンドウ、ポリライン、ポリゴンなど、複数のタイプのオーバーレイを提供します。オーバーレイは、PHP の JavaScript API を使用して簡単に作成および管理できます。

    //创建标注点
    var marker = new BMap.Marker(point);
    
    //设置标注点图标
    var icon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), {
        offset: new BMap.Size(0, 0),
        imageOffset: new BMap.Size(-23, -25)
    });
    marker.setIcon(icon);
    
    //添加标注点到地图中
    map.addOverlay(marker);

    上記のコードのマーカーはマーキング ポイント オブジェクト、icon はマーキング ポイントのアイコン、size と offset はアイコンのサイズとオフセットです。ラベルポイントの属性を設定することで、より柔軟なオーバーレイ表示を実現できます。

これまで、Baidu Map API を PHP に統合し、HTTP および JavaScript API を通じて地図操作を実行する方法を紹介しました。実際のプロジェクト開発では、実際のニーズに応じて適切なAPIインターフェースを選択し、詳細な設定や開発を行う必要があります。

以上がBaidu Map API を PHP に統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。