• vue中高德地图的简单使用


    1、通过官方网站获取对应的key值;

    2、在html中引入相应script文件

    <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=f7f1406a1ee197180c9b7b2444d62b83&plugin=AMap.Autocomplete,AMap.PlaceSearch,AMap.Geocoder"></script>

    3、安装依赖包

    npm install vue-amap --save

    4、vue文件内使用

    <template>
      <div style="100%">
        <div id="MAps"></div>
        <input id="tipinput" type="text" />
        <div id="show"></div>
        <div id="panel"></div>
      </div>
    </template>
    
    <script>
    export default {
      name: "Maps",
      data() {
        return {};
      },
      mounted() {
        this.initMaps();
      },
      methods: {
        initMaps() {
          // 配置地图的基本显示
          let that = this;
          that.MAps = new AMap.Map("MAps", {
            resizeEnable: true, //是否监控地图容器尺寸变化
            zoom: 11, //初始化地图层级
            center: [116.397428, 39.90923], //初始化地图中心点
            viewMode: "3D" //使用3D视图
          });
          var Autocomplete = new AMap.Autocomplete({
            // type: "050000",
            input: "tipinput", //绑定哪个input值作为搜索条件--id为tipinput的input
            city: "010", //限定城市--北京
            // datatype: "busline", //提示信息类型--公交线路
            citylimit: true, //提示信息是否限定在该城市内--限定
            output: "show", //提示信息在哪里展示--展示在id为show的元素内
            outPutDirAuto: false //表示提示信息在下方被遮挡时是否自动放到input上方
          });
    
          var placeSearch = new AMap.PlaceSearch({
            map: that.MAps,
            pageSize: 5, // 单页显示结果条数
            pageIndex: 1, // 页码
            city: "0451", // 兴趣点城市
            citylimit: true, //是否强制限制在设置的城市内搜索
            panel: "panel", // 结果列表将在此容器中进行展示。
            autoFitView: true // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
          });
    
          // 点击选中搜索出来的信息时触发
          AMap.event.addListener(Autocomplete, "select", e => {
            console.log(e);
            // 通过placeSearch的方法配置相应信息
            placeSearch.setCity(e.poi.adcode); //设置在哪个城市查询--如不设置会在兴趣点城市查询
            placeSearch.search(e.poi.name); //根据查询结果及城市显示对应蓝色标记
          });
          // 2为筛选内容,回调函数参数中result为2对应的查询结果
          Autocomplete.search("2", (status, result) => {
            console.log(status, result);
          });
    
          // 点击蓝色标记后触发事件
          AMap.event.addListener(placeSearch, "markerClick", function(e) {
            console.log(e);
            // 在这里可以拿到选取地点的对应经纬度
            let lng = e.event.lnglat.lng;
            let lat = e.event.lnglat.lat;
          });
        }
      }
    };
    </script>
    
    <style lang="scss">
    #MAps {
       100%;
      height: 90%;
    }
    #show {
      height: 100px;
       100px;
      background: chocolate;
    }
    #panel {
      position: absolute;
      background-color: white;
      max-height: 90%;
      overflow-y: auto;
      top: 10px;
      right: 10px;
       280px;
    }
    </style>

    附代码截图:

     

  • 相关阅读:
    JWT在ASP.NET Core3.1的应用
    .NET Core 3.0中IAsyncEnumerable<T>有什么大不了的?
    C#类继承中构造函数的执行序列
    C#中的out 参数,ref参数,值参数
    ABP之启动配置
    ABP之模块系统
    ABP之N层架构
    ABP之什么是ABP(ASP.NET Boilerplate)
    如何使用ASP.NET Core、EF Core、ABP(ASP.NET Boilerplate)创建分层的Web应用程序(第一部分)
    ABP之Setting
  • 原文地址:https://www.cnblogs.com/Alex-Song/p/12761766.html
Copyright © 2020-2023  润新知