教你如何利用微信小程序高效地完成地图点位标注

这篇具有很好参考价值的文章主要介绍了教你如何利用微信小程序高效地完成地图点位标注。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

如今,移动互联网技术飞速发展,微信小程序以其方便快捷的特点受到了广泛的欢迎。在这篇文章中,我将会介绍如何利用微信小程序实现地图点位功能,帮助大家更好地了解和使用地图服务。让我们一起来看看吧。


实现思路

首先,我们需要使用微信小程序提供的地图组件来展示地图,并进行地图的初始化。然后,我们可以通过调用腾讯地图的函数,将点位的信息展示在地图上。当用户点击某个点位时,我们可以通过绑定事件来获取该点位信息,并在屏幕底部弹出弹框展示该点位的详细信息。


完整代码

wxml 文件

<view>
	<!-- 地图控件 -->
	<view>
		<map id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="{{scale}}" markers="{{markers}}" bindmarkertap="markertap">
		</map>
	</view>
	<!-- 弹框 -->
	<view>
		<van-popup closeable bind:close="onClose" round custom-style="height: 20%" position="bottom" show="{{ showModal }}" bind:close="onClose">
			<view class="detailsBox">
				<view>
					<text>点位名称:</text>
					<text>{{modalData.title}}</text>
				</view>
				<view>
					<text>经度:</text>
					<text>{{modalData.longitude}}</text>
				</view>
				<view>
					<text>纬度:</text>
					<text>{{modalData.latitude}}</text>
				</view>
				<view>
					<text>所属区:</text>
					<text>{{modalData.county}}</text>
				</view>
			</view>
		</van-popup>
	</view>
</view>

js 文件

Page({
    data: {
        longitude: 116.397963, //经度
        latitude: 39.915119, //维度
        scale: 13, //地图默认缩放等级
        markers: [], //点位数据
        showModal: false, //弹框显隐
        modalData: {}, //详情信息
    },

    onLoad: function () {
        //初始化地图
        this.mapCtx = wx.createMapContext('map');
        //加载点位数据
        this.loadMarkers();
    },

    loadMarkers: function () {
        //模拟点位数据,可以用接口请求获取真实数据
        let markers = [{
                id: 1,
                longitude: 116.397963,
                latitude: 39.915119,
                name: '点位1',
                county: "东城区",
            },
            {
                id: 2,
                longitude: 116.3977963,
                latitude: 39.899921,
                name: '点位2',
                county: "东城区",
            },
            {
                id: 3,
                longitude: 116.387963,
                latitude: 39.915119,
                name: '点位3',
                county: "东城区",
            }
        ];
        //生成 markers 列表,用于在地图上展示
        let markersData = markers.map(marker => {
            return {
                id: marker.id,
                longitude: marker.longitude,
                latitude: marker.latitude,
                title: marker.name,
                county: marker.county,
                iconPath: '../../assets/guankong.png',
                width: 40,
                height: 40,
            };
        });
        this.setData({
            markers: markersData
        });
    },
    // 点击标记点时触发
    markertap(e) {
        //点击 marker 时触发,获取对应的点位信息并展示弹框
        let markerData = this.data.markers.find(marker => marker.id === e.detail.markerId);
        this.setData({
            showModal: true,
            modalData: markerData
        });
    },
    // 关闭弹框
    onClose() {
        this.setData({
            showModal: false
        });
    },
})

wxss 文件

#map{
  width: 100%;
  height: 100vh;
}

.detailsBox{
  padding: 20rpx 20rpx 0rpx 28rpx;
  font-size: 28rpx;
}
.detailsBox view:nth-child(n+2){
  margin-top: 20rpx;
}

通过上面的代码我们实现了如下的效果:

  • 页面加载时,初始化地图,并加载点位数据;
  • 点位数据可以通过接口请求获取真实数据,这里使用了一个模拟的数组;
  • 点位数据包含了每个点位的经度、纬度、名称和所属区;
  • 地图上的点位会显示为标记点,标记点的图标使用了一个名为 guankong.png 的图标;
  • 当用户点击标记点时,会触发 markertap 事件,弹框会显示对应点位的详细信息;
  • 弹框中显示了点位的名称、经度、纬度和所属区;
  • 用户可以通过关闭弹框按钮来关闭弹框;
  • 页面中还包含了一些样式定义,用于正确显示地图和弹框,并提供良好的用户体验。

实现效果

微信小程序地图打点,小程序,前端,微信小程序


拓展

移动地图视角到搜索的点位上文章来源地址https://www.toymoban.com/news/detail-519761.html

const location = res.data.data[0];//获取数据第一条
const mapCtx = wx.createMapContext('map');//创建 map 上下文 MapContext 对象。
//将地图中心移置当前定位点,此时需设置地图组件 show-location 为true。'2.8.0' 起支持将地图中心移动到指定位置。
mapCtx.moveToLocation({
	//经纬度
    latitude: location.latitude,
    longitude: location.longitude
});

到了这里,关于教你如何利用微信小程序高效地完成地图点位标注的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在微信小程序中加载自己的地图数据

    由于微信小程序无法进行DOM操作,导致像openlayers、leaflet这种常用的js库无法在微信小程序内使用,导致加载高德、百度、mapbox还有自定义的瓦片地图数据变得很困难。 目前,大多数情况下是使用以下三种方法实现加载自定义的瓦片数据。 1. 使用web-view 优势:可以使用丰富的

    2024年02月10日
    浏览(62)
  • 微信小程序如何获取地理位置、地图显示,逆地址解析。

    微信严格了获取客户位置的要求,需要申请地理位置权限和声明。 自 2022 年 7 月 14 日后发布的小程序,若使用地理位置接口,需要在 app.json 中进行声明。 申请时需要选择适合的小程序类目、填写需要调用接口的理由和小程序图片或视频(可以弄点儿UI设计的图稿放进去,显示

    2024年02月07日
    浏览(53)
  • 七招教你如何做好微信小程序优化推广

    网络的发展越来越快,不断有新的产品在互联网涌现出来,手机里的软件也是下载了一个又一个。微信小程序的出现给人们的生活提供了一种更为便捷的选择。但是,怎么样在数量庞大的同行中超越竞争对手,让自己的产品受到关注呢?这就需要一些小小的心机了。这里小柚

    2024年02月03日
    浏览(86)
  • uniapp - 微信小程序利用腾讯地图插件实现搜索地点/位置功能,uniapp小程序平台端使用腾讯地图做搜索城市位置+底部自动根据关键字联想其他相关位置(详细示例源码,一键复制开箱即用!)

    在uniapp微信小程序开发中,安装使用腾讯地图插件,并利用腾讯地图功能完成目的地、城市位置、名称等搜索功能,并且在下拉框中自动 “联想” 相关的地点位置。 最终效果图有点模糊,你可以按照教程一路复制就可以搞定了。

    2024年02月03日
    浏览(113)
  • 两个方法教你如何去除微信小程序button的边框

    最近做微信小程序的时候需要做一个弹层,上面有一个联系客服所以用了按钮button。uniapp的项目中button的边框在我给它的border设置为0后就不在了。但wepy中的边框加了none还是不行,后来看代码解决了这个问题,老规矩,废话不多说,直接上代码。 我的方法: 先给button加一个

    2024年02月12日
    浏览(74)
  • 微信小程序如何利用createIntersectionObserver实现图片懒加载

    节点布局相交状态 API 可用于监听两个或多个组件节点在布局位置上的相交状态。这一组API常常可以用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见。 节点布局相交状态 API中有一个 wx.createIntersectionObserver(Object this, Objectoptions) Api (支持版本 = 1.9.3),它的

    2024年02月04日
    浏览(65)
  • 教你如何使用自定义测试(Minium)进行微信小程序自动化测试

    目录 前言: 一、 编写用例 基本操作 处理小程序API 处理小程序原生控件 数据驱动 二、 执行用例 本地执行 云测服务测试 三、 最佳实践 四、总结 前言: 微信小程序自动化测试是保障小程序质量的重要手段,Minium是一个可为微信小程序编写自定义测试的自动化测试框架。它

    2024年02月09日
    浏览(57)
  • 微信小程序如何性能测试? —— 华为云性能测试服务(CPTS)压测到服务后端,并完成性能评估

    微信小程序作为手机页面的一种,相比传统的网站和应用来说存在比较特殊的地方: 1、  开发者往往对程序做了限制,只能通过微信客户端访问 2、  通过微信的Oauth进行认证 这样往往会导致我们的性能测试工具无法压测到应用的后台服务,这里就跟大家分享下如何通过华为

    2024年02月11日
    浏览(58)
  • 前端小白是如何利用chatgt用一周时间从做一款微信小程序的

    随着 chatgpt 的大火,真的是在工作上给各行各业的人带来了极大的便利,本人是一个 java 程序员,其实我自己是一直想开发一款属于自己的小程序的,但是迫于对前端知识的贫瘠,考虑到要学的前端开发知识有很多,比如 js , ts ,前端框架 vue , react …,最难受的是 css 样式,最

    2024年02月02日
    浏览(56)
  • 高德地图实现-微信小程序地图导航

    1、在高德开放平台注册成为开发者 2、申请开发者密钥(key)。 3、下载并解压高德地图微信小程序SDK 注册账号(https://lbs.amap.com/)) 申请小程序应用的 key 应用管理(https://console.amap.com/dev/key/app)) - 我的应用 - 创建新应用 生成的 key 即可用在程序中 下载相关 sdk 文件,导入 amap-

    2024年02月08日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包