微信小程序-批量地图标记

article/2025/10/20 21:17:13
  • 效果图
    在这里插入图片描述
    在这里插入图片描述

  • wxml

<loading hidden="{{!loading}}">加载中</loading><view class="mapBox"><map id="myMap" scale="12" longitude="{{longitude}}" latitude="{{latitude}}" markers="{{markers}}" show-location bindmarkertap="clickMarker"><cover-view class="sitePop_box" wx:if="{{sitePop}}"><cover-view class="siteCon"><cover-view class="siteIcon"><cover-image src="/images/siteIcon.png"></cover-image></cover-view><cover-view class="siteInfor"><cover-view class="siteName">{{siteData.title}}</cover-view><cover-view class="siteCount"><cover-view class="txt">已完成</cover-view><cover-view class="num">{{siteData.ok_huishou_num}}</cover-view><cover-view class="txt">单,</cover-view><cover-view class="num">{{siteData.ok_shoucang_num}}</cover-view><cover-view class="txt">人已收藏</cover-view></cover-view></cover-view><cover-view class="siteCollect" id="{{siteData.siteid}}" bindtap="collectTap"><cover-image src="/images/collect.png" wx:if="{{siteData.is_shoucang == 0}}"></cover-image><cover-image src="/images/collectAct.png" wx:else></cover-image></cover-view></cover-view><cover-view class="sitePost"><cover-view class="siteMore" id="{{siteData.siteid}}" bindtap="tapMore">查看更多</cover-view></cover-view></cover-view></map>
</view>
  • wxss
.mapBox {width: 100vw;height: 100vh;
}.mapBox map {width: 100%;height: 100%;
}/* 站点信息 */.sitePop_box {width: 710rpx;padding: 30rpx;box-sizing: border-box;background-color: #fff;border-radius: 20rpx;overflow: hidden;position: fixed;left: 0;right: 0;bottom: 30rpx;margin: 0 auto;z-index: 999;
}.siteCon {padding-bottom: 30rpx;overflow: hidden;
}.siteIcon {float: left;width: 100rpx;height: 100rpx;
}.siteInfor {float: left;width: 470rpx;margin: 0 20rpx;
}.siteInfor .siteName {font-size: 32rpx;font-weight: bold;color: #333;
}.siteInfor .siteCount {margin-top: 10rpx;
}.siteInfor .siteCount .txt {display: inline-block;color: #999;
}.siteInfor .siteCount .num {display: inline-block;color: #ff6268;
}.siteCollect {float: right;width: 40rpx;height: 40rpx;margin-top: 24rpx;
}.sitePost {padding-top: 30rpx;border-top: 1rpx solid #eee;overflow: hidden;
}.siteMore {width: 100%;height: 84rpx;line-height: 84rpx;text-align: center;color: #fff;font-size: 28rpx;font-weight: bold;background: #a8d153;border-radius: 42rpx;
}
  • js
var api = require('../../../sender/api.js')
var sender = require('../../../sender/sender.js')
var util = require('../../../utils/util.js')const app = getApp()var pages = 1;
var pages_size = 1000;Page({/*** 页面的初始数据*/data: {imgHost: api.API_IMG,loading: false,longitude : app.globalData.longitude,latitude: app.globalData.latitude,markers: [],siteList: [],siteData: {},sitePop: false,},/*** 生命周期函数--监听页面加载*/onLoad: function(options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function() {var _this = this;_this.getSite();// 获取全局缓存console.log(app.globalData)},/*** 生命周期函数--监听页面显示*/onShow: function() {},/*** 获取地图上的站点数据*/getSite: function() {var _this = this;sender.requestGET(api.Site_List, {longitude: app.globalData.longitude,latitude: app.globalData.latitude,},function(msg, resData, res) {console.log('==获取地图上的站点数据==')console.log(resData)var siteList = resData;var markers = _this.markers;for (var i = 0; i < siteList.length; i++) {var marker = {};marker['id'] = siteList[i]['siteid'];marker['latitude'] = siteList[i]['latitude'];marker['longitude'] = siteList[i]['longitude'];marker['width'] = 46;marker['height'] = 50;marker['iconPath'] = '/images/recoveryLoop.png';marker['label'] ={'content':siteList[i].title,'anchorX':-40,'anchorY':4,'textAlign':'center','bgColor':'#fff','padding':5,};markers[i] = marker;}// console.log(markers)_this.setData({markers: markers,siteList: siteList,})// 生成地图_this.mapCtx = wx.createMapContext('myMap');}, 1,function() {})},/*** 点击气泡*/clickMarker: function(e) {// console.log(e)var _this = this;var siteId = e.markerId;// console.log(siteId)_this.setData({loading: true,siteId: siteId});_this.getSiteDetail();},// 获取站点详情getSiteDetail: function() {var _this = this;var siteData = [];sender.requestGET(api.Site_Detail, {siteid: _this.data.siteId},function(msg, resData, res) {console.log(resData);_this.setData({siteData: resData,sitePop: true,loading: false,});}, 1,function() {})},// 收藏站点collectTap: function(e) {// console.log(e);var _this = this;var id = e.currentTarget.id;sender.requestPOST(api.Collect_Handle, {type: '3',ccid: id,},function(msg, resData, res) {console.log(res);wx.showToast({title: res.msg,icon: 'success',})// 刷新_this.getDetail();}, 1,function() {})},// 查看更多tapMore: function(e) {// console.log(e);var _this = this;var id = e.currentTarget.id;wx.navigateTo({url: '../siteDetail/siteDetail?id=' + id,})},})

js中的请求方法,我这边是统一封装的,你们可以换成原生wx.request请求方法。


http://chatgpt.dhexx.cn/article/8wkK3HN8.shtml

相关文章

实现地图功能 利用微信内置的微信地图

效果图&#xff1a; 查看微信开发文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html 其实不难&#xff0c;查看官方文档&#xff0c;一目了然 直接上代码&#xff1a; map.wxml: <button bindtap"mapViewTap&…

微信小程序应用百度地图API

微信小程序&#xff0c;定位地点&#xff0c;应用bdmap API 1 申请 百度地图开放平台页面&#xff1a;控制台&#xff0c;添加应用 应用类型选微信小程序&#xff0c;添加微信小程序名称和APP ID 2. 微信小程序后台设置 进入微信公众平台&#xff0c;开发管理 服务器域名&a…

微信接入js-sdk-获取地理位置,打开微信内置地图

1.第一步当然是已经正确接入了微信并且配置好了回调安全域名。不会的朋友可以看看《微信开发-初级接入微信公众平台MP》 2. 引用微信js-sdk, http://res.wx.qq.com/open/js/jweixin-1.0.0.js&#xff0c;然后通过config接口注入权限验证配置。先在自己的服务器上写个获取数据…

微信地图 leaflet 腾讯地图

本来在微信项目中使用的高德地图&#xff0c;发现不是想象中的好用&#xff0c;而且用了微信&#xff0c;感觉使用腾讯地图会比较方便&#xff0c;所以&#xff0c;索性使用leaflet腾讯地图的底图来实现。 其中关于正确使用腾讯地图参考了https://github.com/wuxiashuangji/TX…

微信地图组件小程序报错“permission“

报错原因 地图可以任意添加&#xff0c;但用户的位置属于个人隐私&#xff0c;因此需要添加服务引导程序&#xff0c;告知用户地理位置的获取。需要添加 Permission &#xff08;小程序权限获取设置&#xff09;。 解决方法 该片段用于获取位置权限&#xff0c;注意该片段如…

uniapp 微信对接地图的三种操作

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 1.uni.getLocation 获取当前经维度 先上代码 let that this// 获取用户是否开启 授权获取当前的地理位置、速度的权限。uni.getSetting({success (res) {console.log(res)// 如果没有授权if (!res.au…

微信地图多边形算法及判断点位是否在多边形中

最新一个小项目,需要用到地图定义自由区域,并判断选点是否落在此区域内,思路是通过map的polygons中的points来定义多边形边界,通过polygons的fillColor 、 strokeColor、strokeWidth来进行选区颜色的渲染。 然后再通过地图中心点位的移动来确定需要判断的选点(因为小程序地…

【微信小程序】打开微信内置的地图

前言 略 打开微信内置的地图 wx.openLocation({latitude: 38.043622, /*纬度&#xff0c;使用 gcj02 国测局坐标系*/longitude: 114.514746, /*经度&#xff0c;使用 gcj02 国测局坐标系*/scale: 18, /*缩放比例&#xff0c;范围5~18*/name: 石家庄市长安公园人民广场, /*这…

小程序 – 调用微信地图功能小记 + 滑动事件

学习文献官方API对 location 地图 API的具体分析日历插件 - github 2-有回调事件小程序滚动问题小程序上下滑动事件小程序map地图上显示多个marker wx.getLocation(Object object) -获取当前的地理位置、速度。并且能打印出地址消息&#xff1b; wx.openLocation() – 是使用…

微信地图wgs84坐标,gcj02坐标,bd09坐标转换

微信小程序三种常见经纬度坐标系的转化 遇见问题&#xff1a;在其它端点位显示正常&#xff0c;在小程序上点位发生偏移&#xff0c;微信小程序是gcj02坐标&#xff0c;就是xxToGcj02&#xff0c;具体情况具体分析 我们常用的地图api坐标系有wgs84坐标系&#xff0c;gcj02坐标…

Android仿微信地图定位和位置选择(上)

一、地图集成 集成腾讯地图SDK&#xff0c;https://lbs.qq.com/&#xff0c;申请AppKey。 1、dependencies implementation com.tencent.map.geolocation:TencentLocationSdk-openplatform:7.2.6 implementation com.tencent.map:tencent-map-vector-sdk:4.3.4 2、AndroidMa…

微信公众号h5界面获取展示微信内置地图与地图坐标间的转换 — 微信地图(gcj02)转为百度地图

此文章中实例用测试号进行演示 。getLocation openLocation 主要运用微信JS-SDK&#xff0c;微信JS-SDK是微信公众平台 面向网页开发者提供的基于微信内的网页开发工具包。通过使用微信JS-SDK&#xff0c;网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能…

微信小程序地图功能

一&#xff0c;显示地图 <map id"map" longitude"{{longitude}}" latitude"{{latitude}}" scale"14" controls"{{controls}}" bindcontroltap"controltap" markers"{{markers}}" bindmarkertap"…

微信小程序---高德地图API

本文章介绍微信小程序调用高德地图API的过程&#xff0c;使用高德定位功能做演示。微信小程序目前支持百度地图、高德地图、腾讯地图。用法可以说是基本完全一样&#xff0c;本文章以高德为例&#xff0c;简单说一下他们的区别&#xff0c;高德地图精度应该是最准确的&#xff…

微信小程序地图控件Map的使用

本文介绍微信小程序map控件的使用 map为原生控件之一…… 介绍完map控件之后下面直接来看代码怎么实现吧 和往常一样&#xff0c;这些代码贴过去就可以直接通用的 首先wxml文件(极简)&#xff1a; <map id"map" scale"16" controls"{{controls}}&…

微信小程序地图导航实例讲解

微信小程序地图导航实例讲解 先上演示视频准备工作如下在app.json中添加 watch页面代码watch.wxmlwatch.wxsswatch.js connect导航页面使用在腾讯位置服务需要获取key地图选点当用户未点击选址时&#xff0c;默认传入用户当前地址&#xff0c;可以在onShow方法中定义 代码解读 …

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

效果图 指定为位置 Page({data: {longitude: 113.14278, //地图界面中心的经度latitude: 23.02882, //地图界面中心的纬度markers: [ //标志点的位置//位置0{id: 0,iconPath: "../images/1.png",latitude: 23.04308268848755,longitude: 113.13562655285273,width: …

Poi读取Excel时的日期操作(原创)

在java读取excel获取数据存入数据库时&#xff0c;经常会遇到多种日期类型和时间类型混用的情况 比如这样&#xff0c;一边是纯日期&#xff0c;一边是“年月日 时分秒”形式&#xff0c; 很多时候我们需要直接根据内容来区分二者&#xff0c;从而将取到的时间值转换成与excel…

Java用poi实现读取Excel文件内容

使用poi读取Excel文件 前言 用户可以直接读取本地文件&#xff0c;也可以通过上传文件的形式读取excel 注意&#xff1a;poi对于读取到空白行的时候&#xff0c;会默认的认为是最后一行&#xff0c;将不会再读取空白行下面的数据 第一步 导入依赖 <dependency><gro…

使用poi读取Excel中的数据到数据库

大家好今儿给大家带来的是使用poi读取Excel中的数据到数据库 目录 大家好今儿给大家带来的是使用poi读取Excel中的数据到数据库1.poi简单介绍2.poi操作excel3.代码部分(可直接用)4.测试5.总结 1.poi简单介绍 POI是Apache出品的一个开源的专门用来操作我们Microsoft Office格式…