欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vue-baidu-map進(jìn)入頁(yè)面自動(dòng)定位的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)vue-baidu-map進(jìn)入頁(yè)面自動(dòng)定位的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),咸豐企業(yè)網(wǎng)站建設(shè),咸豐品牌網(wǎng)站建設(shè),網(wǎng)站定制,咸豐網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,咸豐網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

首先要明確一點(diǎn)(文檔原話(huà)):由于百度地圖 JS API 只有 JSONP 一種加載方式,因此 BaiduMap 組件及其所有子組件的渲染只能是異步的。因此,請(qǐng)使用在組件的 ready 事件來(lái)執(zhí)行地圖 API 加載完畢后才能執(zhí)行的代碼,不要試圖在 vue 自身的生命周期中調(diào)用 BMap 類(lèi),更不要在這些時(shí)機(jī)修改 model 層。

錯(cuò)誤用法

 我試過(guò),以上這種方法好像是可行,效果可以出來(lái),但我們最好采用作者提供的正確方法!

正確用法

 推薦這種方法!那下面解決進(jìn)入頁(yè)面自動(dòng)定位的方法也是在這里。

 下面是我的寫(xiě)法,僅供參考,有不足請(qǐng)指出,我只是一個(gè)小白,哈哈!

Template:

<template>
  <baidu-map class="map" :center="center" :zoom="zoom" @ready="handler" @load="loadding" :scroll-wheel-zoom="true"
    :mapStyle="{styleJson: styleJson}">
    <bm-geolocation anchor="BMAP_ANCHOR_BOTTOM_RIGHT" :showAddressBar="false" :autoLocation="true"
      :locationIcon="{url: require('../../svg/location.svg'), size: {width: 18, height: 18}}" 
      @locationSuccess="getLoctionSuccess" @locationError="getLocationError">
    </bm-geolocation>
    <!-- 自定義定位圖標(biāo)覆蓋物 -->
    <bm-marker :position="autoLocationPoint"
      :icon="{url: require('../../svg/location.svg'), size: {width: 18, height: 18}}" v-if="initLocation">
    </bm-marker>
  </baidu-map>
</template>

JS實(shí)現(xiàn):

<script>
  export default {
    data () {
      return {
        // 省略一部分
        autoLocationPoint: {lng: 0, lat: 0},
        initLocation: false,
      }
    },
    methods: {
      handler ({BMap, map}) {
        let _this = this;  // 設(shè)置一個(gè)臨時(shí)變量指向vue實(shí)例,因?yàn)樵诎俣鹊貓D回調(diào)里使用this,指向的不是vue實(shí)例;
        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition(function(r){
          console.log(r);
          _this.center = {lng: r.longitude, lat: r.latitude};   // 設(shè)置center屬性值
          _this.autoLocationPoint = {lng: r.longitude, lat: r.latitude};   // 自定義覆蓋物
          _this.initLocation = true; 
          console.log('center:', _this.center)  // 如果這里直接使用this是不行的
        },{enableHighAccuracy: true})

        // 下面注釋是百度地圖API官方實(shí)現(xiàn)方法,因?yàn)槲沂褂米远x圖標(biāo)覆蓋物,所以沒(méi)有使用這種方法!
        // 如使用以下這種方法,那么我Template里所寫(xiě)的自定義定位圖標(biāo)代碼是不需要的
        // var geolocation = new BMap.Geolocation();
        // geolocation.getCurrentPosition(function(r){
        // if(this.getStatus() == BMAP_STATUS_SUCCESS){
        //   var mk = new BMap.Marker(r.point);
        //   map.addOverlay(mk);
        //   map.panTo(r.point);
        //   alert('您的位置:'+r.point.lng+','+r.point.lat);
        // }
        // else {
        //   alert('failed'+this.getStatus());
        // }
        // },{enableHighAccuracy: true})
      }
    }
  }
</script>

如果是直接復(fù)制代碼的朋友請(qǐng)注意,要有選擇的復(fù)制,因?yàn)槲覜](méi)有把全部代碼貼出了,直接復(fù)制到你的項(xiàng)目是會(huì)出問(wèn)題的!不過(guò)這代碼比較簡(jiǎn)單,稍微就能看懂,哈哈!

關(guān)于“vue-baidu-map進(jìn)入頁(yè)面自動(dòng)定位的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

網(wǎng)站題目:vue-baidu-map進(jìn)入頁(yè)面自動(dòng)定位的示例分析
鏈接分享:http://www.chinadenli.net/article0/pgisio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)Google外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站制作建站公司靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作