微信小程序——地图(定位,多个标记点)

地图(定位,多个标记点)

效果图:
在这里插入图片描述
.
.
.

使用的是微信自带的腾讯地图,
使用起来方便,简单,代码也很好理解
喜欢的朋友请收藏
.
.
.
.
.
.

.js代码:

Page({
  data: {
    longitude: 113.14278, //地图界面中心的经度
    latitude: 23.02882, //地图界面中心的纬度
    markers: [ //标志点的位置
      //位置0
      {
        id: 0,
        iconPath: "../images/1.png",
        latitude: 23.04308268848755,
        longitude: 113.13562655285273,
        width: 28,
        height: 32
      },
      //位置1
      {
        id: 1,
        iconPath: "../images/1.png",
        latitude: 23.03814334110172,
        longitude: 113.15378758608608,
        width: 28,
        height: 32
      },
      //位置2
      {
        id: 2,
        iconPath: "../images/1.png",
        latitude: 23.03377135768493,
        longitude: 113.17075479351229,
        width: 28,
        height: 32
      },
      //位置3
      {
        id: 3,
        iconPath: "../images/1.png",
        latitude: 23.02542516569787,
        longitude: 113.1417505798413,
        width: 28,
        height: 32
      },
      //位置4
      {
        id: 4,
        iconPath: "../images/1.png",
        latitude: 23.022740816325694,
        longitude: 113.14681189547798,
        width: 28,
        height: 32
      },
    ]
  },

  onLoad: function () {
    var that = this;

    wx.getLocation({
      type: "wgs84",
      success: function (res) {
        var latitude = res.latitude;
        var longitude = res.longitude;
        console.log("当前位置的经纬度为:", res.latitude, res.longitude);
        that.setData({
          latitude: res.latitude,
          longitude: res.longitude,

        })
      }
    })
  },
  onReady: function () {

  },

  /**
   * 地图放大缩小事件触发
   * @param {*} e 
   */
  bindregionchange(e) {
    console.log('=bindregiοnchange=', e)
  },

  /**
   * 点击地图事件,有经纬度信息返回
   * @param {*} e 
   */
  bindtapMap(e) {
    console.log('=bindtapMap=', e)
  }
})

.
.
.

.wxss代码:

page{
  height: 100%;
}

.
.
.
.

.wxml代码:

<view class="" hover-class="none" hover-stop-propagation="false" style="width: 100%; height: 100%;">

  <map id="map" longitude="{{longitude}}" latitude=" {{latitude}}" markers="{{markers}}" scale="14" show-location
    style="width: 100%; height: 100%;" bindregionchange="bindregionchange" bindtap="bindtapMap"></map>

</view>

.
.
.

app.json增加代码:

"permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
  },

图标 1.png
在这里插入图片描述

微信小程序的WXML(WeiXin Markup Language)是用于描述界面的语法,而WXSS(WeiXin Style Sheets)则是样式语言。如果你想要在微信小程序中添加地图功能,你需要使用腾讯地图的API,而不是直接编写JavaScript(因为WXS和JS是分开的)。地图相关的操作通常在JS文件中完成。 首先,在项目中引入腾讯地图的SDK,可以在`app.json`的`jsapis`配置里开启: ```json { "pages": [...], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "页面标题", "navigationBarTextStyle": "black", "jsApiList": [ "mapLoad" // 其他需要的地图API ] } } ``` 然后,在需要地图的页面的JS文件中,你可以这样初始化地图: ```javascript Page({ data: { map: null, }, onLoad() { this.initMap(); }, initMap() { wx.cloud.callFunction({ name: 'getMapToken', // 这里假设你有一个云函数获取地图token success: res => { const token = res.result; wx.map.load({ key: 'YOUR_MAP_API_KEY', // 替换为你的腾讯地图key zoom: 10, // 初始缩放级别 latitude: 39.913856, // 经度 longitude: 116.407722, // 纬度 marker: { // 马克信息 .latitude: 39.913856, longitude: 116.407722, infoContent: '这里是起', }, ak: token, // 使用地图API的token isShowZoomControl: true, // 是否显示缩放控件,默认true }).then(map => { this.setData({ map }); }); }, fail: err => console.error('加载地图失败:', err) }); } }) ``` 记得替换上述代码中的`YOUR_MAP_API_KEY`为你的实际腾讯地图API Key。在这个基础上,你可以通过地图实例来添加标记、监听事件等。
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wy313622821

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值