上手百度地圖--開放平臺必懂API使用場合(PC端)

Yannnnnm發表於2020-10-06

本篇整理僅適用與沒有接觸或對百度地圖開放平臺API基本沒有概念的人

拖拽類

  • 啟用地圖拖拽 預設啟用 enableDragging()
    對應的禁止方法 disableDragging( )
  • 啟用地圖習慣性拖拽 預設禁止 enableInertialDragging()
    對應的禁止方法 disabInertialDragging
  • 設定地圖可拖動區域,引數為地圖拖拽的區域範圍 setBounds(bounds:Bounds)

縮放類

  • 啟用自動適應容器尺寸變化,預設啟用 enableAutoResize()
  • 禁用自動適應容器尺寸變化 disableAutoResize()
  • 允許地圖可被滑鼠滾輪縮放,預設禁用 enableScrollWheelZoom()
    禁止地圖被滑鼠滾輪縮放 disableScrollWheelZoom()
  • 開啟雙擊平滑縮放效果 enableContinuousZoom()
    關閉雙擊平滑效果 disableContinuousZoom()
    • 啟用地圖雙擊縮放,左鍵雙擊放大,右鍵雙擊縮小enableResizeOnCenter()
      取消地圖雙擊縮放 disableResizeOnCenter()

resize ()

強制地圖調整尺寸,此時會以當前容器尺寸為基準重新計算視野所需影像資料並重新繪製。當關閉自動調整視野時(enableAutoResize 配置),需要呼叫此方法來強制地圖重新整理。

關於圖區resize中心點

  • 開啟圖區中心點位置不變 enableResizeOnCenter()
  • 關閉圖區中心位置不變 disableResizeOnCenter()

開啟鍵盤

-啟用鍵盤操作,預設禁用。 enableKeyboard()鍵盤的上、下、左、右鍵可連續移動地圖。同時按下其中兩個鍵可使地圖進行對角移動。PgUp、PgDn、Home和End鍵會使地圖平移其1/2的大小。+、-鍵會使地圖放大或縮小一級

  • 禁用 disableKeyboard()

地圖相關屬性

  • 地圖當前尺寸 (px)getsize() 返回size
  • 地圖容器的尺寸 getCountainerSize(),返回size
  • 地圖的DOM容器元素 getContainer() 返回HTMLElement
  • 地圖級別 getZoomUnits() 返回Number 一個畫素對應多少單位的平面墨卡託座標
  • 地圖型別 getMapType()
  • 獲取地圖座標型別,為CoordType常量 getMapStyleId()

座標類

  • 畫素座標轉化為經緯度座標 pixelToPoint(pixel:Pixel) 返回Point(點的座標)
  • 經緯度座標轉換為畫素座標 pointToPixel(point:Point)返回經緯度座標
  • 經緯度球體座標轉換為墨卡託平面座標 lnglatToMercator(lng: Number, lat: Number),返回墨卡託平面座標
  • 墨卡託平面座標轉換為經緯度球體座標 mercatorToLnglat(McLng: Number, lat: McLat) 返回經緯度球體座標
  • 返回兩點之間的距離,單位是米 getDistance(start: Point , end: Point )

關於在地圖上區域的增刪改查

  • 新增地點區域,作為地圖上的虛擬可點選區域。其中引數spots為熱區點陣列,options為可選配置引數;返回區域id。addSpots(spots: Array, options: Object)
  • 初始化地圖。 centerAndZoom(center: Point , zoom: Number)
  1. 座標類
  • 根據id返回地點區域陣列 getSpots(id: string)
  • 根據id移除區域陣列 removeSpots(id: number)
  • 清除地點區域,此操作將清空所有虛擬可點資料 clearSpots()
  • 清空當前map所有的自定義底圖示註 clearLabels()
  • 通過點選座標獲取當前點中的底圖icon,如果獲取到返回其{name, uid, position},否則返回null getIconByClickPosition(clickPosition: Pixel)
  1. 文字類
  • 在底圖上新增文字,這些文字會和底圖文字一同參與避讓。 addLabelsToMapTile(labels:Array)
  • 從底圖上移除文字標註,引數為uid陣列,根據陣列裡的uid進行移除 removeLabelsFromMapTile(labelUids:Array)
  1. 功能類
  • 將地圖的中心點更改為給定的點,跳轉到指定中心點進行渲染 panTo(center: Point ) 相當於translate
  • 重新設定地圖,恢復地圖初始化時的中心點和級別 相當於restore reset()
  • 將地圖在水平位置上移動x畫素,垂直位置上移動y畫素。如果指定的畫素大於可視區域範圍或者在配置中指定沒有動畫效果,則不執行滑動效果 panBy(x: Number, y: Number)
  • 飛到指定的中心點和級別,提供給定位縮放地圖使用 flyTo(center: Point , zoom: Number)
    -設定地圖可拖動區域,引數為地圖拖拽的區域範圍 setBounds(bounds:Bounds)
  • 獲取地圖當前視野範圍的矩形區域,以地理座標表示。如果地圖尚未初始化則返回一個空的 Bounds 例項。 getBounds()

相關文章