百度地圖3.0開發要點記錄

以下內容純屬個人扯淡,僅供參考

注意:本項目使用版本:JavaSript API v3.0

目錄

一、介紹

二、HelloWord

三、地圖參數

四、主題風格


 

一、介紹

1、選擇

百度地圖開放平臺

開發文檔
    Web開發
        JavaSript API
            Lite:針對移動端H5使用場景,代碼體積小,性能更好,但很多功能有裁剪
            v2.0:標準版
            v3.0:在v2.0上開發,針對一些接口進行了升級,添加了新的功能
            GL:基於WebGL渲染,3D地圖開發
                1.自定義marker標註圖標
                    GL版:自動適應圖標大小,只需要設置設置new Size()可視區大小即可
                    3.0:需要調用setImageSize(),還需要設置圖片可視區域大小
                2.移除了一些api
                3.也有支持了新的api。GL添加了flyTo等方法

默認展示的是GL版本,它使用WebGL對地圖、覆蓋物渲染(3D顯示相關)。這個版本並非v3.0的兼容升級版,有些功能在GL上還不支持,比如:在GL中還沒有縮放尺,並且沒有開源庫這個模塊、demo示例也沒這麼多。總之:GL版本功能尚未有v3.0那麼完善,它是個較新的版本,主要用於3D地圖開發。點擊JavaScript API v3.0就進入v3.0的開發文檔資源中

2、v3.0可用資源

開發指南
    簡單入門
示例Demo
    功能
類參考
    你代碼裏百度地圖相關的、能寫的都在這裏,就好比如一本字典,通過它你可以知道每個類、方法、屬性的含義。
    我們最終目的:就是不斷的屬性API,然後知道它的API能完成什麼樣的功能
開源庫:2.0、3.0纔有。是基於百度地圖的二次開發的一些功能。自定義信息窗口、熱力圖...
    如果有些功能沒有在示例demo、開發指南中找到,可以在這裏試試
更新日誌
常見問題

建議:首先,跟着開發指南前幾節(入門指南、創建地圖、在地圖上繪製、事件等)一步步熟悉簡單使用,瞭解大致的js編寫順序;然後,根據自己實際業務需要去開發指南的後幾章、示例Demo、開源庫去找相關的功能實現;最後,再仔細閱讀類參考高度定製化開發

3、準備

具體步驟參考開發指南,目的:拿到密鑰即可

百度地圖開放平臺
    控制檯
        應用管理-我的應用-創建應用

二、Hello World

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Hello, World</title>
    <style type="text/css">
        html {
            height: 100%
        }

        body {
            height: 100%;
            margin: 0;
            padding: 0;
        }

        #container {
            height: 100%
        }
    </style>
    <!-- xxxxxxxxxxx就是申請的密鑰 -->
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=xxxxxxxxxxxxxxxxxxxxxxxx">
    </script>
</head>

<body>
<div id="container"></div>
<script type="text/javascript">
    //創建地圖實例
    var map = new BMap.Map("container");
    //創建點座標:北京天安門
    var point = new BMap.Point(116.404, 39.915);
    //初始化地圖,設置中心點座標和地圖縮放級別
    map.centerAndZoom(point, 15);
</script>
</body>
</html>

將生成一個鋪滿的地圖,並且"天安門"將置於地圖正中央,地圖級別=15,也叫縮放級別,如果設置爲5,那大概能看到整個中國

三、地圖參數

const mapOption = {
    enableMapClick: true, //是否開啓底圖可點功能,默認啓用
    minZoom:7, //最小縮放級別
    maxZoom:16 //最大縮放級別
};
//創建地圖實例
var map = new BMap.Map("container",mapOption);
//啓用縮放
map.enableScrollWheelZoom(true);

這個地圖是支持鼠標滾輪縮放的,並且設置了最大、最小縮放級別

四、添加控件

 

 

 

五、主題風格

是什麼:可以控制地圖上的元素(山川、河流、陸地、學校)的顏色、樣式

(1)創建主題

開發文檔
    開發者工具
        個性化地圖編輯器

步驟:創建、編輯、(預覽)、發佈,拿到地圖樣式ID即可(我們可以高度自定義編輯,也可以直接引用地圖模板)

(2)兩種使用方式

在線方式

//在v3.0版不允許該方法傳遞一個空對象(即:{}),另外:V2版方法與舊方法區別見官方說明
map.setMapStyleV2({
    styleId: '331da1fd183bf05b65b1eaffe73a9c4c'
});

離線方式

map.setMapStyleV2({
    styleJson : styleJsonVal
});

其中styleJsonVal是一個Json格式對象,可以通過在個性編輯器中下載樣式文件拿到具體內容(Json文件),那麼就可以通過請求本地JSON文件的方式拿到,例如:

$.getJSON('js/樣式文件.json', function(res) {

});

當然,也可以直接在代碼中定義一個這樣的常量值,但這樣會導致代碼十分臃腫

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章