高德地图和百度地图接口封装遇到的问题(三):参数集中插入参数以及引用未定义参数
生活随笔
收集整理的這篇文章主要介紹了
高德地图和百度地图接口封装遇到的问题(三):参数集中插入参数以及引用未定义参数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.向參數(shù)集中插入新參數(shù):
? ? ? ?由于要將高德地圖和百度地圖提供的方法封裝成一個(gè)統(tǒng)一的方法,而對(duì)于某些功能來說可能傳進(jìn)來的參數(shù)個(gè)數(shù)不一樣,比如下面的繪制折線功能:
//高德地圖// 折線的節(jié)點(diǎn)坐標(biāo)數(shù)組,每個(gè)元素為 AMap.LngLat 對(duì)象 var path = [new AMap.LngLat(116.368904,39.913423),new AMap.LngLat(116.382122,39.901176),new AMap.LngLat(116.387271,39.912501),new AMap.LngLat(116.398258,39.904600) ];// 創(chuàng)建折線實(shí)例 var polyline = new AMap.Polyline({path: path, borderWeight: 2, // 線條寬度,默認(rèn)為 1strokeColor: 'red', // 線條顏色lineJoin: 'round' // 折線拐點(diǎn)連接處樣式 });// 將折線添加至地圖實(shí)例 map.add(polyline); //百度地圖// 創(chuàng)建polyline對(duì)象 var pois = [new BMap.Point(116.350658,39.938285),new BMap.Point(116.386446,39.939281),new BMap.Point(116.389034,39.913828),new BMap.Point(116.442501,39.914603) ]; var polyline =new BMap.Polyline(pois, {enableEditing: false,//是否啟用線編輯,默認(rèn)為falsestrokeWeight:'8',//折線的寬度,以像素為單位strokeOpacity: 0.8,//折線的透明度,取值范圍0 - 1strokeColor:"#18a45b" //折線顏色 });map.addOverlay(polyline); //增加折線可以看出高德地圖需要傳入一個(gè)包含點(diǎn)數(shù)組的參數(shù)集,百度地圖需要擦傳入點(diǎn)數(shù)組和一個(gè)參數(shù)集。如果要統(tǒng)一的話,可以直接將點(diǎn)數(shù)組和參數(shù)集暴露出來,newPolyline(pointsArr,options){? }
對(duì)于百度來說就直接在方法里面:return new BMap.Polyline(pointsArr,options);
而對(duì)于高德來說就需要先把點(diǎn)數(shù)組傳進(jìn)options中:options["path"]=pointsArr;? //這個(gè)就是向參數(shù)集中加入?yún)?shù)
return new AMap.Polyline(pointsArr,options);
2.參數(shù)集中引用一個(gè)未定義的參數(shù)
function test() {let options={enable:1,a:true}let poi=options.b;} 直接調(diào)用test函數(shù)不會(huì)報(bào)錯(cuò),通過console.log(options.b);輸出為undefined?
總結(jié)
以上是生活随笔為你收集整理的高德地图和百度地图接口封装遇到的问题(三):参数集中插入参数以及引用未定义参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高德地图和百度地图接口封装遇到的问题(二
- 下一篇: ArcGIS中加载模块时dojo/dom