微信小程序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

相关文章

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法: