1. 程式人生 > >TP5呼叫百度地圖介面進行開發

TP5呼叫百度地圖介面進行開發

進入百度地圖開放平臺,建立應用:服務端,生成AK碼,複製。

在extend目錄下建立一個Map.php,程式碼如下:

<?php
/**
 * 百度地圖相關業務封裝
 */
class Map{
    //根據地址獲取經緯度
    public static function getLngLat($address){
       // http://api.map.baidu.com/geocoder/v2/?address=北京市海淀區上地十街10號&output=json&ak=您的ak&callback=showLocation //GET請求
            $data=[
                'address'=>$address,
                'ak'=>config('map.ak'),
                'output'=>'json',
            ];
            //轉化為網址形式
            $url=config('map.baidumap_url').config('map.geocoder').'?'.http_build_query($data);
            $res=doCurl($url);
            return $res;
    }

    //根據經緯度或者地址獲取百度地圖
    public static function staticimage($center){
            if (!$center){
                return '';
            }
        //http://api.map.baidu.com/staticimage/v2?ak=
        $data=[
            'ak'=>config('map.ak'),
            'width'=>config('map.width'),
            'height' =>config('map.height'),
            'center' =>$center,
            'markers' =>$center,
        ];
        $url=config('map.baidumap_url').config('map.staticimage').'?'.http_build_query($data);
        $res=doCurl($url);
        return $res;
    }
}

接著在extra目錄下建立一個map.php檔案,程式碼如下:

<?php
/**
 * 地圖相關配置檔案
*/
return [
'ak'=>'EglSDP3UNYtT2GsjGsoBFrHYBfixPrDv',
'baidumap_url'=>'http://api.map.baidu.com/',
'geocoder'=>'geocoder/v2/',
'staticimage' =>'staticimage/v2',
'width' =>400,
'height' =>300,];

分別為封裝檔案和配置檔案,接著在common.php中加入以下程式碼:

function doCurl
($url,$type=0,$data=[]){ $ch=curl_init(); //初始化 //設定選項 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); if ($type==1){ //post curl_setopt($ch,CURLOPT_PORT,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); } //執行獲取內容 $output=curl_exec($ch); //釋放curl控制代碼
curl_close($ch); return $output;}

最後在想要測試的頁面的控制器加入以下程式碼:

public function test(){
    print_r(\Map::getLngLat('地址'));
}
public function map(){
return \Map::staticimage('地址');
}
通過輸入地址可以得到經緯度和詳細地圖。

相關推薦

TP5呼叫地圖介面進行開發

進入百度地圖開放平臺,建立應用:服務端,生成AK碼,複製。在extend目錄下建立一個Map.php,程式碼如下:<?php /** * 百度地圖相關業務封裝 */ class Map{ //根據地址獲取經緯度 public static funct

Android 地圖開發(一)如何呼叫地圖介面和在專案中顯示地圖以及實現定位

二、下載百度地圖API庫 然後新增到專案中即可。   三、在專案清單AndroidMainifest.xml配置百度地圖API key和新增相關許可權                         四、在專案呼叫百度地圖專案功能,這篇文章就首先講講顯示地圖和定位的功能 首先

js呼叫地圖介面繪製任意多邊形並獲取每個點的經緯度等

來自:https://blog.csdn.net/u013239236/article/details/52213977 侵刪 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type"

Winform呼叫地圖介面簡單示例

1、首先用一個html檔案呼叫百度地圖介面(主要註冊一個序列號):<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml

C#呼叫地圖介面簡單示例

1、首先用一個html檔案呼叫百度地圖介面(主要註冊一個序列號): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/x

利用Python呼叫地圖介面爬取小區資訊

前幾天有一個需求,就是想要查到每個一二線城市裡所有小區的經緯度,因此爬取程式和啟動程式如下 community_info_do.py 的程式碼如下 # -*- coding: utf-8 -*- """ 功能:呼叫百度地圖介面爬取各城市小區基本資訊 呼叫介面

php 呼叫地圖介面

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>根據地址查詢經緯度</title> <meta http-equiv="Content-Type" content="te

呼叫地圖API進行地理編碼和反地理編碼(一)

前段時間有師兄希望幫忙做一個類似於地理編碼之類的東西,就是在表格裡輸入經緯度以後可以通過程式實現地理位置的批量輸出,自己寫了半天也沒寫出來, 在當時實習的專案經理(於老師)的指導下我才明白什麼意思,程

java呼叫地圖API開發線上地圖開發——未完待續

這裡是目錄 一、引入百度地圖API 二、百度地圖開發 1、定義一個div來存放地圖 2、生成地圖 3、新增一個跳躍的點 4、新增控制元件 5、有其他需要的請留言 一、引入百度地圖API   百度地圖官方示例:http://lbsyun.b

呼叫地圖API介面製作熱力圖

呼叫百度地圖API介面製作熱力圖 Python學了很久,也做了一些機器學習的demo,利用matolotlib庫做過一些視覺化。今天呢想嘗試做一下熱力圖。先PO一張我最終效果圖。 因為資料原因,效果一般,但我們的目的還是達到了。下面就講一下大致流程。 1、資料準備 我沒有上千個

地圖介面呼叫

var map; initMap(); //建立和初始化地圖函式: function initMap() { createMap();//建立地圖 setMapEvent();//設定地圖事件 addMapControl();//向地

地圖介面呼叫問題總結及解決辦法(待續...)

百度地圖介面呼叫錯誤聚集地,每次遇到錯誤都會記錄下來,希望經常使用百度地圖介面的夥伴們一起來交流。 - “status”:2,”message”:”Parameter Invalid” http://api.map.baidu.com/pla

呼叫地圖進行定位的Demo

<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-sca

呼叫地圖顯示周圍方圓100米、500米、1000米附近的餐館賓館酒店及公交站點API介面

呼叫百度地圖顯示周圍方圓100米、500米、1000米附近的餐館、賓館及公交站點程式碼 <!DOCTYPE html> <html lang="en">     <head>         <meta charset="utf-

地圖二次開發Demo

sso http fill log 百度地圖 popu art .com b2c 單點標註:電子顯示對應位置的圖片,信息框 多點標註(批量點標註): 多點連線(基於多個點形成路徑): 若須要Demo源

呼叫翻譯介面

表單提交頁面ajax提交 百度翻譯 </textarea> 控制器頁面 <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use Ap

呼叫地圖API的小demo

update <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta nam

呼叫地圖API定位位置

以下程式碼是百度開發示例程式碼: <html> <head>     <meta http-equiv="Content-Type" content="text/html; charse

PHP呼叫天氣介面API

//百度天氣介面API $location = "北京"; //地區 $ak = "5slgyqGDENN7Sy7pw29IUvrZ"; //祕鑰,需要申請,百度為了防止頻繁請求 $weatherURL = "http://api.map.baidu.com/telematics/v3/weather?lo

呼叫地圖API

<html> <div id="allmap"></div> </html> // ak為你註冊的金鑰 <script type="text/javascript" src="http://api.map.baidu.com/api