微信小程序map 之个性化地图(日出日落主题)-----更新

2023-11-10 21:10

本文主要是介绍微信小程序map 之个性化地图(日出日落主题)-----更新,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微信小程序map 之个性化地图(日出日落主题)

  • 个性化地图之根据日出日落时间动态变换地图主题
    • 个性化前的准备
    • ~~进入腾讯地址服务官网(作废 2023年6月30日后不再生效)~~
    • 使用微信小程序付费服务
    • 小程序开发
      • html `代码`. layer-style 编号为样式名称
      • js`代码`. 注意的是,layer-style只能定义一次,所以值必须在data 中就要设定好
      • GetSunriseAndSunsetTime 函数(根据日出日落时间切换return style)

个性化地图之根据日出日落时间动态变换地图主题

微信小程序主题有根据日出日落时间切换深色主题,这样白色的地图在小程序中尤为显眼,由此诞生一个新的需求----个性化地图

个性化前的准备

地图个性化样式组件是腾讯位置服务为开发者提供的地图高级能力,开发者可以在法律允许的范围内,定制背景面、背景线、道路、POI等多种地图元素,灵活地设计心仪的地图样式

进入腾讯地址服务官网(作废 2023年6月30日后不再生效)

https://lbs.qq.com/dev/console/custom/apply.进行选择自己开发需要的主题,并输入自己的小程序的APPID,之后系统会生成密钥(key)
在这里插入图片描述

使用微信小程序付费服务

微信小程序付费服务 中地图个性化样式组件 链接: 开发指南

小程序开发

html 代码. layer-style 编号为样式名称

  <map id="map" latitude="{{latitude}}" longitude="{{longitude}}" scale="17" bindregionchange="regionchange" show-location="{{true}}" subkey="{{subKey}}" layer-style="{{layerStyle}}" ></map>

js代码. 注意的是,layer-style只能定义一次,所以值必须在data 中就要设定好

Page({/*** 页面的初始数据*/data: {latitude: "",longitude: "",isPosition: true,siteZoneId: '',layerStyle: SetLayerStyle(),subKey: MAP_SUBKEY,}})

GetSunriseAndSunsetTime 函数(根据日出日落时间切换return style)

import { TimeFormate } from "./utils";
import {LAYER_STYLES,SUNTIME_LIST} from './config'//根据当前时间判断样式
function GetSunriseAndSunsetTime() {var layerStyle;let time = TimeFormate('', 'yyyy/MM/dd');let now = new Date().getTime();let month = new Date().getMonth();//获取当前月的日落、日出时间点let sunrise = SUNTIME_LIST[month].sunrise;let sunset = SUNTIME_LIST[month].sunset;//根据当前时间获取当天日出、日落时间戳sunrise = new Date(`${time} ${sunrise}`).getTime();sunset = new Date(`${time} ${sunset}`).getTime();return {sunrise,sunset}
}//根据日出日落时间判断返回的个性化地图样式
export function SetLayerStyle(){let {sunrise,sunset} = GetSunriseAndSunsetTime();let now = new Date().getTime();return (now < sunrise || now > sunset)?LAYER_STYLES.sunset:LAYER_STYLES.sunrise
}

这篇关于微信小程序map 之个性化地图(日出日落主题)-----更新的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/385244

相关文章

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

使用Folium在Python中进行地图可视化的操作指南

《使用Folium在Python中进行地图可视化的操作指南》在数据分析和可视化领域,地图可视化是一项非常重要的技能,它能够帮助我们更直观地理解和展示地理空间数据,Folium是一个基于Python的地... 目录引言一、Folium简介与安装1. Folium简介2. 安装Folium二、基础使用1. 创建

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

JavaScript中的Map用法完全指南

《JavaScript中的Map用法完全指南》:本文主要介绍JavaScript中Map用法的相关资料,通过实例讲解了Map的创建、常用方法和迭代方式,还探讨了Map与对象的区别,并通过一个例子展... 目录引言1. 创建 Map2. Map 和对象的对比3. Map 的常用方法3.1 set(key, v