• 微信小程序-腾讯地图


    index.wxml

    <view>
      <map id="map" longitude="{{ longitude }}" latitude="{{ latitude }}" markers="{{ markers }}" bindtap="maptap" bindregionchange="regionChange" bindmarkertap="markertap" show-location style="100vw; height: 90vh;"></map>
    </view>

    index.js

    //index.js
    //获取应用实例
    const app = getApp();
    //引入SDK核心类
    var QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js');
    //实例化API核心类
    var qqmapsdk = new QQMapWX({
      key: 'GMQBZ-BNVCX-REY4S-ZXZZS-42NUJ-CQF6F'
    });
    
    Page({
      data: {
        adrValue: '',
        longitude: 120.19663,
        latitude: 35.95995,
        markers: []
      },
      onReady(e) {
        var mapCtx = wx.createMapContext('map');
      },
      onLoad () {
        var _this = this;
        wx.getLocation({
          type: 'gcj02', //返回可以用于wx.openLocation的经纬度
          success: function (res) {
            var longitude = res.longitude;
            var latitude = res.latitude;
            _this.setData({
              longitude: longitude,
              latitude: latitude
            });
            _this.setMarkers(_this, longitude, latitude);
          }
        })
      },
      //获取input搜索值
      getAdressValue(e) {
        this.data.adrValue = e.detail;
      },
      //搜索按钮点击事件-搜索地址
      searchAdr(e) {
        var _this = this;
        var val = this.data.adrValue;
        if(val==''){
          wx.showToast({
            title: '地址不能为空',
            icon: 'none',
            duration: 1500
          });
        }else{
          qqmapsdk.geocoder({
            address: val,
            success(res){
              var longitude = res.result.location.lng;
              var latitude = res.result.location.lat;
              _this.setData({
                longitude: longitude,
                latitude: latitude
              });
            },
            fail(error) {
              wx.showToast({
                title: '未搜索到你想看的区域',
                icon: 'none',
                duration: 1500
              });
            }
          });
        }
      },
      //拖拽地图事件-标记点跟随地图中心点移动
      regionChange(res) {
        var _this = this;
        var mapCtx = wx.createMapContext('map');
        if(res.type==='end'){
          mapCtx.getCenterLocation({
            success(response) {
              _this.setMarkers(_this, response.longitude, response.latitude);
            }
          });
        }
      },
      //点击地图事件-添加点击位置标记并把点击位置作为中心点
      maptap() {
        var _this = this;
      },
      //点击标记点事件-
      markertap(e) {
        console.log(e.markerId);
      },
      //设置marker以及中心点位置
      setMarkers(_this, long, lat) {
        //获取附近10个最近的酒店位置
        // app.request({
        //   url: 'test.php',
        //   data: {
        //     longitude: long,
        //     latitude: lat,
        //   },
        //   success(res) {
    
        //   }
        // });
        var point = [
          { id: 1, longitude: 120.20663, latitude: 35.95995, name: '青岛西海岸新区武夷山路店', address: '青岛市西海岸新区武夷山路165号' },
          { id: 2, longitude: 120.18553, latitude: 35.96975, name: '青岛西海岸新区武夷山路店', address: '青岛市西海岸新区武夷山路165号' },
          { id: 3, longitude: 120.18553, latitude: 35.94175, name: '青岛西海岸新区武夷山路店', address: '青岛市西海岸新区武夷山路165号' }
        ];
        point.splice(0, 0, { id: 0, longitude: long, latitude: lat });
        var mark = [];
        for (var key in point) {
          if (key === '0') {
            mark.push({
              iconPath: 'images/mark.png',
              id: point[key].id,
              longitude: point[key].longitude,
              latitude: point[key].latitude,
               30,
              height: 38
            });
          } else {
            mark.push({
              iconPath: 'images/marker-bg.png',
              id: point[key].id,
              longitude: point[key].longitude,
              latitude: point[key].latitude,
               21,
              height: 25,
              callout: {
                content: point[key].name + '
    ' + point[key].address, //换行用'
    '
                fontSize: 14,
                bgColor: '#fff',
                borderWidth: 1,
                borderColor: '#ccc',
                display: 'BYCLICK', //ALWAYS:始终显示,BYCLICK:点击显示
                padding: 5
              }
            });
          }
          _this.setData({
            markers: mark
          });
        }
      }
    })
  • 相关阅读:
    学习曲线
    正则化——“偏差(bias)”与“方差(variance)”
    诊断偏差(bias)和方差(variance)
    模型选择和训练/验证/测试数据集
    运用机器学习的建议
    训练神经网络的一般步骤
    Java数组
    类型信息(反射,RTTI)
    equals(), "== ",hashcode() 详细解释
    java并发
  • 原文地址:https://www.cnblogs.com/shirliey/p/12124103.html
Copyright © 2020-2023  润新知