uni-app 之地圖 map


uni-app 之地圖 map

  怎么說呢,,,我們公司啊(忒好啊)是房地產公司,所以我現在寫的是一個關於買房賣房一類的APP,用的這個uni-app ,這種app少不了的就是房產經紀人啊,置業部的店鋪啊,店鋪啊就不用說了,位置被~~~~是吧

  看了一下uni-app 的地圖給大家實例一下

  <map>  說一說屬性問題  

    longitude:經度         latitude:緯度         scale:縮放級別,也就是說放大縮下的程度,取值范圍是5-18,默認的是16 ,他就是呢值數越大,放大程度越大,看的越細,看村庄的那種

    markers:標記點   就是說你在地圖上標記出來的東西           polyline:路線   可以寫兩個標記點   然后用路線將他們連接起來         circle:圓    就是說在地圖上畫個圈?

    controls:控件  他就是說那  在地圖上顯示一個控件,但是這個控件並不隨着地圖移動    include-points:縮放視野以包含所有的坐標點 這就是說你坐標點很多的時候,縮小時可以看到全部

    show-location:顯示帶有方向的當前定位點

  大概粗略說一下  我用代碼跟大家解釋,這個希望大家先看一遍uni-app的地圖組件,一下很淺顯的我就不跟大家說了

  先給大家看個最基本的,根據經緯度 顯示這個地圖

    <map style="width:100%;height:85vh;":latitude="latitude":longitude="longitude" ></map>

  js部分:

export default {
  data(){
    return{
         // 經紀人id
         agentId:0,
         title: 'map', //地圖標題
         latitude: 40.013305,  //緯度
         longitude: 118.685713//經度
      //scale:5,//最小數,縮放范圍最大,可見程度最大
      //scale:18,//最大數,縮放范圍最小,可見程度最小
      }
  }
}

  看一下圖是這樣的    這樣顯示的就是經緯度對應的地圖了  這個是默認的縮放16                                                  然后給大家看一下縮放程度的照片 我上邊有些的   綠色的效果    首先展示的是5的       其次是18的 

 這張是默認的16   這張縮放程度為5 中國的那種  這張是18 我們庄的那種

下一步: 標記點  markers  顧名思義  就是在地圖上標記了一個類似位置的標記點     用代碼解釋屬性

return{
  latitude: 40.013305,
  longitude: 118.685713,
  marker: [{
     id:0,
     latitude: 40.013305,//緯度
     longitude: 118.685713,//經度
     iconPath: '',    //顯示的圖標        
     rotate:0,   // 旋轉度數
     width:20,   //
     height:20,   //
     title:'你在哪了',//標注點名
     alpha:0.5   //透明度
     label:{//為標記點旁邊增加標簽   //因背景顏色H5不支持
     content:'唐山遷安',//文本
    color:'red',//文本顏色
       //   fontSize:24,//文字大小
       //    x:5,//label的坐標,原點是 marker 對應的經緯度
       //    y:1,//label的坐標,原點是 marker 對應的經緯度 
       //    borderWidth:12,//邊框寬度
       //    borderColor:'pink',//邊框顏色    
       //   borderRadius:20,//邊框圓角                        
       //   bgColor:'black',//背景色
       //   padding:5,//文本邊緣留白
       //    textAlign:'right'//文本對齊方式。
   },
   callout:{//自定義標記點上方的氣泡窗口 點擊有效  
     content:'幸福花園店A組',//文本
     color:'#ffffff',//文字顏色
     fontSize:14,//文本大小
     borderRadius:2,//邊框圓角
     bgColor:'#00c16f',//背景顏色
     display:'ALWAYS',//常顯
   },
   // anchor:{//經緯度在標注圖標的錨點,默認底邊中點
   //     x:0,    原點為給出的經緯度
   //     y:0,
   // }
                
   }],
   scale:16,//地圖縮放程度
}      (我將每一項都給大家標記出來注釋,平台的差異我就不解釋了,大家可以去官網看一下)

  

  先看一張比較普通的,就是只有 標記點的那種                                                             再看一下就是有各種標記的那種   

                                            

接下來把剩下的都給大家展示一下    路線 圓 還有控件   這幾個是一體的所以一並顯示                    

這是接着上面data里面寫的   重復太多我就不在寫了 補充了沒有的
  controls:[{//在地圖上顯示控件,控件不隨着地圖移動
     id:1,//控件id
     iconPath:'../../static/images/myself.jpg',//顯示的圖標    
     position:{//控件在地圖的位置
        left:15,
        top:15,
        width:50,
        height:50
      },    
  }],
  circles:[{//在地圖上顯示圓
     latitude: 40.013,
     longitude: 118.685,
     fillColor:"#999999",//填充顏色
     color:"#0016ca",//描邊的顏色
     radius:20,//半徑
     strokeWidth:2//描邊的寬度
   }],
  polyline:[{//指定一系列坐標點,從數組第一項連線至最后一項
    points:[
         {latitude: 40.013305,longitude: 118.685713},
         {latitude: 40.013,longitude: 118.685},
    ],
    color:"#0000AA",//線的顏色
    width:2,//線的寬度
    dottedLine:true,//是否虛線
    arrowLine:true,    //帶箭頭的線 開發者工具暫不支持該屬性
  }],

 

  效果圖如下:

           后來我引用了一個比較好理解的控件

注意:我們公司設計的當時說想做成那種地圖上面帶有div的   就是說地圖上面可以顯示門店位置。門店名稱的那種,我當時用定位在網頁上實現的,但是一到手機上運行的時候,發現顯示不出來,后來我仔細看了一下,那個map組件享有最高的優先級,

你用定位之類,根本就實現不了,后來我發現了一個叫<cover-image> 和 <cover-view >  他是可以覆蓋在原生組件上的文本視圖   但是也有注意點它不支持的css:

  • position: fixed
  • opacity
  • overflow
  • padding
  • linebreak
  • white-space

另外還有:  在APP端它不支持嵌套其他組件,也不支持本身組件的嵌套,app現在<cover-view>只可以不該原生組件video和map, 一定要注意

目前呢 ~~~~總結這么多,以后要是有什么心得的話我會繼續補充,也歡迎大家幫我補充哈~~~謝謝大家~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM