react 項(xiàng)目中使用react-amap 高德地圖組件

react-amap 是一個(gè)基于 React 封裝的高德地圖組件;幫助你輕松的接入地圖到 React 項(xiàng)目中。除了必須引用的 Map 組件外,我們目前提供了最常用的 10 個(gè)地圖組件,能滿足大部分簡(jiǎn)單的業(yè)務(wù)場(chǎng)景;如果你有更復(fù)雜的需求,或者覺(jué)得默認(rèn)提供的組件功能不夠,你完全可以自定義一個(gè)地圖組件,然后根據(jù)高德原生 API 做高德允許你做的一切事情。

最近更新

react-amap 升級(jí)到 1.1.1,支持加載 AMapUI 組件庫(kù)。加載方式參考 Map 組件 關(guān)于 加載 AMapUI 組件庫(kù) 的說(shuō)明。

擴(kuò)展組件

從版本 1.0.0 開始,react-amap 擁有了組件的擴(kuò)展能力。如果 react-amap 中已有的組件不能滿足你的業(yè)務(wù)需求,你可以使用自己寫的地圖組件;

在你的組件中,可以通過(guò) props 訪問(wèn)到創(chuàng)建好的高德地圖實(shí)例,以及地圖的 div 容器;擁有訪問(wèn)這兩個(gè)屬性的能力后,你可以根據(jù)高德原生 API 做高德允許你做的一切事情。實(shí)際上,react-amap 中的其他組件就是這么做的。文檔內(nèi)容請(qǐng)參考自定義地圖組件。

如何在項(xiàng)目中接入 react-amap

安裝

npm install --save react-amap

npm 用法

<div id="app"></div>

#app {
  width: 600px;
  height: 400px;
}
import React from 'react';
import ReactDOM from 'react-dom';
import { Map } from 'react-amap';

ReactDOM.render(
  <Map amapkey={YOUR_AMAP_KEY} version={VERSION} />,
  document.querySelector('#app')
)

amapkey 說(shuō)明見下文 version 指定高德地圖版本 不填則使用默認(rèn)值: 1.4.0

也可以手工引入你需要的組件:

import Map from 'react-amap/lib/map';
import Marker from 'react-amap/lib/marker';
// ... your other code

以上為簡(jiǎn)單場(chǎng)景的應(yīng)用。 tips: Map 組件的父元素須設(shè)置高度和寬度;關(guān)于代碼中的 Map 組件的 amapkey 屬性見下方的說(shuō)明。

關(guān)于 Key

在上面的例子中需要給 Map 組件傳入 amapkey 屬性,這個(gè)是高德地圖給開發(fā)者分配的開發(fā)者 Key;你可以在高德開放平臺(tái)申請(qǐng)你自己的 Key。

在 react-amap 中 Key 的傳入方式有兩種:

  • 給 Map 組件傳入 amapkey 屬性(因?yàn)?React 框架本身對(duì) key 屬性有其他作用,所以不能用 key,所以我們用 amapkey),這樣的缺點(diǎn)是如果多個(gè)地方使用就要每次都要傳入;
  • 你也可以定義一個(gè)純組件,把 Map 組件的 amapkey 屬性寫好后返回新組件。
  • 直接把你的 Key 定義在全局變量 window.amapkey 上,react-amap 在調(diào)用高德接口時(shí)會(huì)嘗試從這里讀取。(不推薦)

組件的使用請(qǐng)移步組件文檔。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容