免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動(dòng)推薦你的品牌,搶占AI流量入口!  點(diǎn)擊查看

小程序模板網(wǎng)

小程序之地圖Map反思

發(fā)布時(shí)間:2018-05-09 14:49 所屬欄目:小程序開發(fā)教程

寫在開頭:
最近在做關(guān)于地圖的小程序,然后就發(fā)現(xiàn)了各種問題,然后就想寫一篇文章作為記錄
PS:不定時(shí)持續(xù)更新

關(guān)于Marker

產(chǎn)品的需求是想要在地圖同時(shí)展示marker和一些信息

剛開始覺得這個(gè)功能用markers 和 markers的屬性label 可以很容易實(shí)現(xiàn)

代碼如下:

initMarkerData(){
    let _this = this;
    let markerList = [];
    for (let i in _this.data.listData){
        let poiInfo = _this.data.listData[i];

        let singleMarker = {};
        let labelInfo = {};
        singleMarker['iconPath'] = "../../image/oilCallout.png";
        singleMarker['width'] = 40;
        singleMarker['height'] = 40;
        singleMarker['id'] = poiInfo.id;
        singleMarker['latitude'] = poiInfo.placeLatitude;
        singleMarker['longitude'] = poiInfo.placeLongitude;
        singleMarker['label'] = {};
        singleMarker['label']['content'] = poiInfo.placeName + '\n' + poiInfo.placeAddress;
        singleMarker['label']['x'] = 20;
        singleMarker['label']['y'] = -40;
        singleMarker['label']['padding'] = 3;
        singleMarker['label']['bgColor'] = '#ffffff';
        singleMarker['label']['borderRadius'] = 5;
        markerList.push(singleMarker);
        
    }
    console.log(markerList);
    _this.setData({
        markers : markerList
    })
    return markerList;
},
onLoad() {//頁面加載時(shí)
    let _this = this;
    //初次進(jìn)入頁面獲取到我的位置,方便設(shè)置map
    wx.getLocation({//獲取當(dāng)前的地理位置、速度
        type: 'wgs84', //返回可以用于wx.openLocation的經(jīng)緯度
        success: res => {
            _this.setData({
                markers: _this.initMarkerData(),//請求后端獲取所有markers
                longitude: res.longitude,
                latitude: res.latitude,
                scale: 8 //首次地圖比例改這里
            })
        }
    });
},

然后,問題就出現(xiàn)了,在微信開發(fā)者工具里展示是沒有OK的,但是?。?!在真機(jī)預(yù)覽的時(shí)候,我發(fā)現(xiàn)label會(huì)有偶發(fā)性的不展示,而且不展示的情況也沒有任何章法。具體分為以下幾類:

a: 只展示一部分
b: 只展示label背景,不展示文字
c: 所有的都不展示
d: 所有的都只展示背景不展示文字

我的內(nèi)心:fn9#bei*jvjc%vjsvdj#dbcjscbv&sbcd%%
快下班了,發(fā)現(xiàn)廢話說多了。總之就是我發(fā)現(xiàn):

Marker的label有兼容性問題,目前我自己驗(yàn)證過的機(jī)型:(后續(xù)會(huì)根據(jù)項(xiàng)目進(jìn)度做補(bǔ)充)

小米5: 沒問題,數(shù)據(jù)加載和樣式都OK
vivoX9 Plus/ 三星5: 存在有上述問題
iPhone7: label都加載出來了,但是有樣式問題,Marker和label偏移了,沒對(duì)齊

作為一個(gè)孜孜不倦的程序員,我在小程序的社區(qū)提問了,在提問的時(shí)候發(fā)現(xiàn),我不是一個(gè)人!

 

然后就查小程序API看下有沒有什么可替代的方案于是就發(fā)現(xiàn)了marker還有一個(gè)callout屬性可以做替代,但是??!callout屬性只是單獨(dú)的氣泡展示,里面只能展示文字,不能展示圖片,還不能設(shè)置背景圖。
咨詢了下產(chǎn)品的意見,產(chǎn)品表示一定想要Marker和文字信息同時(shí)展示。

我的內(nèi)心:fn9#bei*jvjc%vjsvdj#dbcjscbv&sbcd%%

最后,一邊等待騰訊官方修bug一邊找最優(yōu)方案

比如:把label的背景透明,在IOS下偏移會(huì)比較不明顯(適用于數(shù)字展示)

小程序API挺多的,很意外,但是還需要不斷優(yōu)化,還是很不錯(cuò)的~



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.szcjxy.com/wxmini/doc/course/24371.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點(diǎn)擊咨詢
在線客服