欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

比例尺、縮略圖、平移縮放之百度地圖添加控件方法

 更新時間:2015年08月03日 09:19:36   作者:WhyWin  
這篇文章主要介紹了比例尺、縮略圖、平移縮放之百度地圖添加控件方法,大家都知道百度地圖API中提供了豐富的控件,您還可以通過Control類來實現(xiàn)自定義控件,需要的朋友可以參考下

下面通過圖文并茂的方式給大家詳細(xì)介紹下比例尺、縮略圖、平移縮放之百度地圖添加控件方法。

地圖控件概述
  百度地圖上負(fù)責(zé)與地圖交互的UI元素稱為控件。百度地圖API中提供了豐富的控件,您還可以通過Control類來實現(xiàn)自定義控件。

地圖API中提供的控件有:

Control:控件的抽象基類,所有控件均繼承此類的方法、屬性。通過此類您可實現(xiàn)自定義控件。
NavigationControl:地圖平移縮放控件,PC端默認(rèn)位于地圖左上方,它包含控制地圖的平移和縮放的功能。移動端提供縮放控件,默認(rèn)位于地圖右下方。
OverviewMapControl:縮略地圖控件,默認(rèn)位于地圖右下方,是一個可折疊的縮略地圖。
ScaleControl:比例尺控件,默認(rèn)位于地圖左下方,顯示地圖的比例關(guān)系。
MapTypeControl:地圖類型控件,默認(rèn)位于地圖右上方。
CopyrightControl:版權(quán)控件,默認(rèn)位于地圖左下方。
GeolocationControl:定位控件,針對移動端開發(fā),默認(rèn)位于地圖左下方
向地圖添加控件
  可以使用Map.addControl()方法向地圖添加控件。在此之前地圖需要進(jìn)行初始化。例如,要將標(biāo)準(zhǔn)地圖控件添加到地圖中,可在代碼中添加如下內(nèi)容:

復(fù)制代碼 代碼如下:

var map = new BMap.Map("container");   
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);   
map.addControl(new BMap.NavigationControl());

  可以向地圖添加多個控件。在本例中我們向地圖添加一個平移縮放控件、一個比例尺控件和一個縮略圖控件。在地圖中添加控件后,它們即刻生效。

復(fù)制代碼 代碼如下:

map.addControl(new BMap.NavigationControl());   
map.addControl(new BMap.ScaleControl());   
map.addControl(new BMap.OverviewMapControl());   
map.addControl(new BMap.MapTypeControl());   
map.setCurrentCity("北京"); // 僅當(dāng)設(shè)置城市信息時,MapTypeControl的切換功能才能可用

控制控件位置
  初始化控件時,可提供一個可選參數(shù),其中的anchor和offset屬性共同控制控件在地圖上的位置。

  控件??课恢?anchor表示控件的??课恢?,即控件??吭诘貓D的哪個角。當(dāng)?shù)貓D尺寸發(fā)生變化時,控件會根據(jù)停靠位置的不同來調(diào)整自己的位置。anchor允許的值為:
BMAP_ANCHOR_TOP_LEFT 表示控件定位于地圖的左上角。
BMAP_ANCHOR_TOP_RIGHT 表示控件定位于地圖的右上角。
BMAP_ANCHOR_BOTTOM_LEFT 表示控件定位于地圖的左下角。
BMAP_ANCHOR_BOTTOM_RIGHT 表示控件定位于地圖的右下角。

控件位置偏移

  除了指定停靠位置外,還可以通過偏移量來指示控件距離地圖邊界有多少像素。如果兩個控件的??课恢孟嗤?,那么控件可能會重疊在一起,這時就可以通過偏移值使二者分開顯示。

  本示例將比例尺放置在地圖的左下角,由于API默認(rèn)會有版權(quán)信息,因此需要添加一些偏移值以防止控件重疊。

復(fù)制代碼 代碼如下:

var opts = {offset: new BMap.Size(150, 5)}   
map.addControl(new BMap.ScaleControl(opts));

修改控件配置
  地圖API的控件提供了豐富的配置參數(shù),您可參考API文檔來修改它們以便得到符合要求的控件外觀。例如,NavigationControl控件就提供了如下類型:

復(fù)制代碼 代碼如下:

BMAP_NAVIGATION_CONTROL_LARGE 表示顯示完整的平移縮放控件。
BMAP_NAVIGATION_CONTROL_SMALL 表示顯示小型的平移縮放控件。
BMAP_NAVIGATION_CONTROL_PAN 表示只顯示控件的平移部分功能。
BMAP_NAVIGATION_CONTROL_ZOOM 表示只顯示控件的縮放部分功能。

下圖從左向右依次展示了上述不同類型的控件外觀:

  上圖前4個為PC端平移縮放控件樣式,最后一個為移動端縮放控件樣式。

  下面的示例將調(diào)整平移縮放地圖控件的外觀。

上圖前4個為PC端平移縮放控件樣式,最后一個為移動端縮放控件樣式。

下面的示例將調(diào)整平移縮放地圖控件的外觀。

添加縮略圖

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  <style type="text/css">
    body, html {width: 100%;height: 100%;margin:0;font-family:"微軟雅黑";}
    #allmap{width:100%;height:500px;}
    #r-result{width:100%;margin-top:5px;}
    p{margin:5px; font-size:14px;}
  </style>
  <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密鑰"></script>
  <title>添加/刪除地圖類型、縮略圖控件</title>
</head>
<body>
  <div id="allmap"></div>
  <div id="r-result">
    <input type="button" onclick="add_control();" value="添加" />
    <input type="button" onclick="delete_control();" value="刪除" />
  </div>
  <p>點擊地圖類型控件切換普通地圖、衛(wèi)星圖、三維圖、混合圖(衛(wèi)星圖+路網(wǎng)),右下角是縮略圖,點擊按鈕查看效果</p>
</body>
</html>
<script type="text/javascript">
  // 百度地圖API功能
  var map = new BMap.Map("allmap");
  map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);

  var mapType1 = new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP,BMAP_HYBRID_MAP]});
  var mapType2 = new BMap.MapTypeControl({anchor: BMAP_ANCHOR_TOP_LEFT});

  var overView = new BMap.OverviewMapControl();
  var overViewOpen = new BMap.OverviewMapControl({isOpen:true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT});
  //添加地圖類型和縮略圖
  function add_control(){
    map.addControl(mapType1);     //2D圖,衛(wèi)星圖
    map.addControl(mapType2);     //左上角,默認(rèn)地圖控件
    map.setCurrentCity("北京");    //由于有3D圖,需要設(shè)置城市哦
    map.addControl(overView);     //添加默認(rèn)縮略地圖控件
    map.addControl(overViewOpen);   //右下角,打開
  }
  //移除地圖類型和縮略圖
  function delete_control(){
    map.removeControl(mapType1);  //移除2D圖,衛(wèi)星圖
    map.removeControl(mapType2);
    map.removeControl(overView);
    map.removeControl(overViewOpen);
  }
</script>

效果圖

以上就是本文的全部內(nèi)容,希望大家喜歡。

相關(guān)文章

  • 微信小程序下拉框組件使用方法

    微信小程序下拉框組件使用方法

    這篇文章主要為大家詳細(xì)介紹了微信小程序下拉框組件使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JavaScript小技巧整理

    JavaScript小技巧整理

    這篇文章主要介紹了JavaScript小技巧,整理匯總了JavaScript常用的6個實用技巧,屬于JavaScript邊角技巧的總結(jié),需要的朋友可以參考下
    2015-12-12
  • javascript框架設(shè)計讀書筆記之種子模塊

    javascript框架設(shè)計讀書筆記之種子模塊

    本文是司徒正美的《javascript框架設(shè)計》一書第一章種子模塊的讀書筆記,記錄了一下自認(rèn)為比較重要的東西,分享給大家
    2014-12-12
  • ?javascript數(shù)組中的findIndex方法?

    ?javascript數(shù)組中的findIndex方法?

    這篇文章主要介紹了javascript數(shù)組中的findIndex方法,findIndex()?方法返回傳入一個測試條件函數(shù)符合條件的數(shù)組第一個元素位置,下面更多相關(guān)資料,需要的小伙伴可以參考一下
    2022-03-03
  • JavaScript 反射和屬性賦值實例解析

    JavaScript 反射和屬性賦值實例解析

    這篇文章主要介紹了JavaScript 反射和屬性賦值實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • js獲取json中key所對應(yīng)的value值的簡單方法

    js獲取json中key所對應(yīng)的value值的簡單方法

    下面小編就為大家?guī)硪黄猨s獲取json中key所對應(yīng)的value值的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • underscore之Chaining_動力節(jié)點Java學(xué)院整理

    underscore之Chaining_動力節(jié)點Java學(xué)院整理

    本文通過文字說明與代碼的形式給大家介紹了underscore之Chaining的相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧
    2017-07-07
  • JavaScript分頁功能的實現(xiàn)方法

    JavaScript分頁功能的實現(xiàn)方法

    這篇文章主要介紹了JavaScript分頁功能的實現(xiàn)方法,涉及javascript操作分頁的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • javascript中方便增刪改cookie的一個類

    javascript中方便增刪改cookie的一個類

    把jquery.cookie.js改了一下,改成了純javascript版本,以備我以后項目只需,增加了一個得到頁面全部cookie鍵值的功能
    2012-10-10
  • 原生js canvas實現(xiàn)鼠標(biāo)跟隨效果

    原生js canvas實現(xiàn)鼠標(biāo)跟隨效果

    這篇文章主要為大家詳細(xì)介紹了原生js canvas實現(xiàn)鼠標(biāo)跟隨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評論