社会の発展に伴い、私たちの生活は地図ナビゲーションと切り離せないものになっています。 Web 開発では、マップ API を利用してマップ操作を簡単に実装できます。最も人気のある地図サービスプロバイダーとして、Baidu Maps の API 統合と使用もますます注目を集めています。この記事では、Baidu Map API を PHP に統合して地図アプリケーション開発を実現する方法を紹介します。
Baidu Map API を使用する前に、[Baidu Map Open Platform](https://lbsyun.baidu.com) に登録して取得する必要があります。 /) AKとSK。 AKはBaidu Map APIにアクセスするための認証キー、SKはAKに対応するセキュリティ検証キーです。 AK と SK を取得するための具体的なプロセスは次のとおりです。
Baidu Map API は、JavaScript API、HTTP API、モバイル SDK などのさまざまなインターフェイスを提供します。このうち、HTTP API は HTTP リクエストを通じて Baidu 地図サービスに直接アクセスでき、非常に強力で使いやすいため、ここでは HTTP API の統合方法を紹介します。
HTTP API 呼び出しはネットワーク リクエストを通じて実装され、PHP の cURL ライブラリと json_decode 関数の使用が必要です。具体的な手順は次のとおりです。
cURL ライブラリを使用して、Baidu Map API に HTTP アクセス リクエストを送信し、応答を取得します。上記のコードの
//百度地图HTTP API接口地址 $url = "http://api.map.baidu.com/place/v2/search?query=美食®ion=上海&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 値です。
HTTP 応答結果の解析
Baidu Map API の HTTP 応答結果は JSON 形式のテキスト データであり、PHP の json_decode 関数を使用して配列に解析する必要があります。加工用に。上記のコードの
//解析JSON字符串 $result = json_decode($response, true);
$result は解析された配列です。
解析結果の利用
解析結果は、情報表示や距離計算など、必要に応じて利用できます。
JavaScript API は Baidu Map API の中核部分であり、Web 上で使用できる包括的でインタラクティブな地図サービスを提供します。ウェブおよびモバイル開発。 PHP を介して JavaScript API を統合すると、より柔軟で使いやすい地図アプリケーションを実現できます。具体的な手順は次のとおりです。
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 値です。
マップ オブジェクトを作成し、関連する設定を行います。
//创建地图对象 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 は初期ズーム レベルを表します。 。
オーバーレイをマップに追加します。
オーバーレイとは、地図上に表示される点、線、領域などのグラフィックを指します。 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 サイトの他の関連記事を参照してください。