React?高德地圖進京證路線規(guī)劃問題記錄(匯總)
一、加載問題
用高德地圖做了個進京證路線規(guī)劃的功能,官網(wǎng)也是有 React 代碼示例。但是吧,這個Demo有問題,地圖是能加載成功,但是其他功能再用 map 這個變量肯定不行,果不其然是null,處理也簡單,把公共變量都管理起來就行了。
const [map, setMap] = useState(null); const [AMap, setAMap] = useState(null); const [driving, setDriving] = useState(null); const [mass, setMass] = useState(true); useEffect(() => { window._AMapSecurityConfig = { securityJsCode: "「你申請的安全密鑰」", }; AMapLoader.reset(); AMapLoader.load({ key: "", // 申請好的Web端開發(fā)者Key,首次調用 load 時必填 version: "2.0", // 指定要加載的 JSAPI 的版本,缺省時默認為 1.4.15 plugins: ["AMap.Driving"], //需要使用的的插件列表,如比例尺'AMap.Scale',支持添加多個如:['...','...'] }).then((_AMap) => { const _map = new _AMap.Map("container", { resizeEnable: true, viewMode: '2D', // 默認使用 2D 模式,如果希望使用帶有俯仰角的 3D 模式,請設置 viewMode: '3D' zoom: 11, // 初始化地圖層級 center: [116.397428, 39.93000] // 初始化地圖中心點 }); _map.on('complete', () => { setAMap(_AMap) }); setMap(_map); const driving = new _AMap.Driving({ map: _map }); setDriving(driving); }).catch((e) => { console.log(e); }); return () => { map?.destroy(); }; }, [])
二、標注點問題
普通點標記多了會很慢,高德提供了海量點標記功能(攝像頭太多了),如果文字都顯示是又慢又亂,所有單獨綁定單擊事件,并用 Text 文本標記。
const camera = []; //你的數(shù)組 const datas = []; const styles = [{ url: 'https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png', anchor: 'bottom-center', size: new AMap.Size(21, 27), zIndex: 1, }] for (let index = 0; index < camera.length; index++) { const c = camera[index]; datas.push({ lnglat: c.position, name: c.name, style: 0 //該數(shù)據(jù)的取值為樣式數(shù)組對應的對象索引 }); } // 海量標記攝像頭 const _mass = new AMap.MassMarks(datas, { style: styles }) let marker = null; _mass.on('click', (e) => { if (marker === null || e.data.lnglat !== marker._opts.position) { if (marker !== null) { map.remove(marker) } marker = new AMap.Text({ map: map, position: e.data.lnglat, anchor: 'top-center', offset: [0, -60], text: e.data.name, style: { "font-Size": "14px", "padding": "5px" }, zIndex: 2 }); } }); _mass.setMap(map) setMass(_mass);
三、效率問題
目前規(guī)劃路線的效率有點慢,主要是攝像頭過多,按步全量循環(huán)算路太耗時,下一步更新要把所有的攝像頭分區(qū),按線路走向過濾算路,理論上能減少一半以上的計算時間,期待的搓搓小手。大家感興趣的可以在微信公眾號體驗一下,希望可以幫助到有需要的人。
到此這篇關于React 高德地圖 進京證 路線規(guī)劃 問題小記的文章就介紹到這了,更多相關React 高德地圖 進京證內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
React-Route6實現(xiàn)keep-alive效果
本文主要介紹了React-Route6實現(xiàn)keep-alive效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>2022-06-06react antd-mobile ActionSheet+tag實現(xiàn)多選方式
這篇文章主要介紹了react antd-mobile ActionSheet+tag實現(xiàn)多選方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10react-navigation 如何判斷用戶是否登錄跳轉到登錄頁的方法
本篇文章主要介紹了react-navigation 如何判斷用戶是否登錄跳轉到登錄頁的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12React引入antd-mobile+postcss搭建移動端
本文給大家分享React引入antd-mobile+postcss搭建移動端的詳細流程,文末給大家分享我的一些經驗記錄使用antd-mobile時發(fā)現(xiàn)我之前配置的postcss失效了,防止大家踩坑,特此把解決方案分享到腳本之家平臺,需要的朋友參考下吧2021-06-06React Native 集成jpush-react-native的示例代碼
這篇文章主要介紹了React Native 集成jpush-react-native的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08淺析JS中什么是自定義react數(shù)據(jù)驗證組件
我們在做前端表單提交時,經常會遇到要對表單中的數(shù)據(jù)進行校驗的問題。這篇文章主要介紹了js中什么是自定義react數(shù)據(jù)驗證組件,需要的朋友可以參考下2018-10-10