zoukankan      html  css  js  c++  java
  • vue

    参考资料
    Vue Baidu Map vue百度地图中文

    1. 安装
    $ npm install vue-baidu-map --save
    
    1. 局部注册 按需引用 注意样式要设置高度
    <template>
      <baidu-map class="bm-view" ak="YOUR_APP_KEY" :center="center" :zoom="zoom">
      </baidu-map>
    </template>
    
    <script>
    import BaiduMap from 'vue-baidu-map/components/map/Map.vue'
    export default {
      components: {
        BaiduMap
      }
    }
    </script>
    
    <style>
    .bm-view {
       100%;
      height: 300px;
    }
    </style>
    

    3.自定义功能

    //html
                  <!-- 地图控件 -->
                    <baidu-map class="bm-view" :ak="baiduKey" @moveend="changeCenter" @zoomend="changeZoom" :scroll-wheel-zoom="true" :center="{ lat: map.lat, lng: map.lng }" :zoom="map.zoom">
                        <!--缩放控件-->
                        <bm-navigation anchor="BMAP_ANCHOR_TOP_LEFT"></bm-navigation>
                        <!-- 搜索控件 -->
                        <bm-local-search @markersset="searchLocation" :panel="false" :keyword="keyword" :selectFirstResult="true" :auto-viewport="true"></bm-local-search>
                        <bm-marker @dragend="getLocationPoint" :position="marker" :dragging="true" :zIndex="10000"></bm-marker>
                    </baidu-map>
    
    //data
               map: {
                    lng: '',
                    lat: '',
                    zoom: 13,
                },
                marker: {
                    lng: '',
                    lat: '',
                },
                center: {
                    lng: '',
                    lat: '',
                },
                keyword: '',
                searchList: [],
    
    //methods
          //地图中心点
            changeCenter(e) {
                this.map = {
                    lng: e.target.getCenter()['lng'],
                    lat: e.target.getCenter()['lat'],
                    zoom: e.target.getZoom(),
                };
            },
            //地图层级改变
            changeZoom(e) {
                this.map = {
                    lng: e.target.getCenter()['lng'],
                    lat: e.target.getCenter()['lat'],
                    zoom: e.target.getZoom(),
                };
            },
            //地图搜索取点列表
            searchLocation(e) {
                this.searchList = [];
                this.searchList = e;
                if (this.searchList.length > 0) {
                    //移动标记点,移动到地图中心点
                    //设置标记点
                    this.marker = {
                        lat: this.map.lat,
                        lng: this.map.lng,
                    };
                }
            },
            //地图取点
            getLocationPoint(e) {
                //移动标记点
                this.marker = {
                    lng: e.point['lng'],
                    lat: e.point['lat'],
                };
            },
    
    


  • 相关阅读:
    iOS中NSArray的过滤
    Android SurfaceView 的应用
    让你的模拟器不再卡:VirtualBox安裝 Androidx86 4.0
    SurfaceView 绘图覆盖刷新及脏矩形刷新方法
    ios iphone开发内存管理
    IOS上的socket通信
    【转载】反射之实例创建ConstructorInfo.Invoke 对比 Activator.CreateInstance
    cookie 和session 的区别详解
    LPC2132 调试记 (转)
    三极管开关电路基础
  • 原文地址:https://www.cnblogs.com/gggggggxin/p/14547236.html
Copyright © 2011-2022 走看看