每年一度的七夕快到咯,作为程序员的你,今年是否依旧是单身还是早就找到了那个对的人呢?在浪漫的节日里送你一个示爱利器——手掌地图,祝单身的早日脱单,有伴的感情更加甜蜜。手掌地图的实际效果如下所示:

程序员表白手掌地图

一、使用个性化地图将小岛变成爱心

登录腾讯位置服务官网,注册帐号,在key管理里创建新密钥,QQ和微信都可以直接登录,而且个性化地图在网站和微信小程序中都可以使用哦。
前往“控制台->个性化地图->个性化样式->样式选择”,从列表中选择一个模板“编辑样式”,这里我们选择的是二次元地图雨露:

现在该寻找一个心形岛了,我选择的是福建省泉州市西湖公园湖中心的小岛,在地图右下角:
一直放大地图,找到西湖公园,可以看到现在心形岛是绿色的(绿地)。
我们将它的“填充颜色”换成红色,是不是立马就有红心的感觉了。同理,我们还可以更改陆地的颜色或将“填充透明度”设为0%以增加与背景图手的融合。
点击左上角的保存图标,并返回到上一页,发布我们刚才编辑的样式。
下面我们需要选择应用样式的key,还没有的话需要去key管理里创建一个,后面我们将用到。虽然本示例使用JSAPI GL进行演示,但还是必须在地图sdk和小程序中至少勾选一个,这里我们就选地图sdk吧。

提交成功之后我们就可以进行开发了,留意上面有个编号“style 1”下面也会用到,来段简单的代码验证一下我们的个性化地图是否生效吧:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>玉露改(绿色系恋爱风格)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<style type="text/css">html,body{width:100%;height:100%;
}
*{margin:0px;padding:0px;
}
body {font: 12px/16px Verdana, Helvetica, Arial, sans-serif;
}
#container{width: 100%;height: 100%;
}</style>
<!--注意这里引用的是gl.js,才支持自定义样式-->
<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=这里改成你的key"></script>
<script>window.onload = function () {function init() {var map = new TMap.Map(document.getElementById("container"), {//地图中心点,这里是心形岛的经纬度center: new TMap.LatLng(24.932341,118.582993), //地图缩放级别,支持3~20zoom: 20,     //地图样式ID,有效值为”style[编号]”,与key绑定mapStyleId: 'style1' });}init();}</script>
</head>
<body>
<div id="container"></div>
</body>
</html>

上效果图,好大一个红心有没有,如果你有更好的颜色搭配,欢迎在评论里展示哦。

先初始化地图(页面背景图为手的照片,中间层放的地图,顶层图是把手扣掉的png)。

    //心形小岛坐标var hart = new TMap.LatLng(24.932215,118.582971);//起始点坐标var home = new TMap.LatLng(39.876019,116.411133);var map = new TMap.Map(document.getElementById("container"), {//地图中心点center: new TMap.LatLng(32.879587,111.972656), //地图缩放级别,支持3~20zoom: 4,     //是否显示地图上的控件,默认trueshowControl:false,//地图样式ID,有效值为”style[编号]”,与key绑定mapStyleId: 'style1' });
//移动路径的坐标
var path = [home,hart
];

这里大家可以用MultiPolyline绘制折线,在地图上走出个520线路什么的,在走完一段之后给线段加个颜色,交给大家来实现吧。

然后向地图中添加情侣头像,用点标记MultiMarker来实现(微信小程序中用markers):

var marker = new TMap.MultiMarker({map,styles: {'car-down': new TMap.MarkerStyle({'width': 80,'height': 80,'anchor': {x: 40,y: 40,},//头像路径'src': 'images/tj.jpg',})},geometries: [{id: 'car',styleId: 'car-down',//坐标position: home,}]});

现在我们可以添加动画了,试了一下动画都是异步的,文档里没有回调,也无法链式调用,除了用setTimeout不知道大家有什么好办法没?

marker.moveAlong一般用来做轨迹回放,这里用来从家移动到心形小岛;map.easeTo可以使地图做平滑过渡的动画,这里一直放大地图到心形完整显示。

最后不能忘了用MultiLabel在地图上添加“我爱你”的文本标注:

//点击按钮$("#btn").click(function () { $("#btn").hide();//沿着指定路径移动marker.moveAlong({  'car': {path, //坐标数组speed: 5201314 //移动速度,正整数,单位:千米/小时}})var duration = 2000;//平滑过渡到指定状态,mapStatus为key-value格式,可以设定center、zoom、rotation、pitch。map.easeTo({center:hart},{duration});//移动地图var duration2 = 1000;setTimeout(function () {map.easeTo({ zoom: 12 }, { duration:duration2 });//缩放地图setTimeout(function () {map.easeTo({ zoom: 18 }, { duration:duration2 });addLabel();}, 3000);}, duration);        });//添加文本标注function addLabel() {//初始化labelvar label = new TMap.MultiLabel({id: 'label-layer',map: map,styles: {'label': new TMap.LabelStyle({'color': '#D2000D', //颜色属性'size': 20, //文字大小属性'offset': { x: 0, y: 0 }, //文字偏移属性单位为像素'angle': 0, //文字旋转属性'alignment': 'center', //文字水平对齐属性'verticalAlignment': 'middle' //文字垂直对齐属性})},geometries: [{'id': 'label', //点图形数据的标志信息'styleId': 'label', //样式id'position': new TMap.LatLng(24.932711,118.583046), //标注点位置'content': '我爱你', //标注文本'properties': { //标注点的属性数据'title': 'label'}}]});}

至此,大功告成。欢迎各位小伙伴们在评论中秀出你的作品哦。

七夕程序员应该这样表白!相关推荐

  1. 2022七夕程序员必备的表白黑科技(七夕限定款)

    大家好,我是博主月夜枫,我又来了,最近有点忙,就抽时间凑下热闹吧!!! 月遇从云,花遇和风,今晚上的夜空很美.

  2. python表白代码如何运行-程序员如何实现表白代码

    程序员实现表白代码的方法:首先打开代码编辑器:然后输入告白代码[while (life < end) {love++;},var you = function from_future_impor ...

  3. 520程序员的浪漫表白

    520程序员的浪漫表白 说明 预览 html部份代码 说明 本文作品创意不是我想出来的,只是想用推荐卡在这"520"的节日里给更多的人分享下好的作品,可以让新人程序员更加热爱现在做 ...

  4. 传说中的程序员最牛表白方式!

    传说中的程序员最牛表白方式!

  5. HTML5纯css实现爱心动画效果DW、vscode来自程序员的浪漫表白

    HTML5纯css实现爱心动画效果DW来自程序员的浪漫表白 一.拉面版 css部分 *{/* 初始化页面元素内外边距*/margin:0;padding: 0;}body{/* 弹性布局元素垂直水平居 ...

  6. 十个炫丽的表白模板源码,整合成一个完整系统可修改文字,可统计人数,经典的爱情告白,万能告白模板,胜过鲜花表白,程序员的特殊表白方式说——我爱你(520)——html、js、css、jQuery

    十个炫丽的表白模板源码,整合成一个完整系统可修改文字,可统计人数,经典的爱情告白,万能告白模板,胜过鲜花表白,程序员的特殊表白方式说--我爱你(520)--html.js.css.jQuery. 一. ...

  7. [java]程序员的爱情表白

    程序员的爱情表白: 我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不完整... 我可以重载甚至覆盖这个世界里的任何一种方法... 但是我却不能重载 ...

  8. 【python教程入门学习】七夕情人节表白|Python程序员的花式表白

    七夕情人节马上到了,各位都准备了什么礼物?是不是想得头发都要掉了-- 那么本文就来给大家介绍几种用Python表白的姿势(绝不是画个爱心曲线啦-) 神马?你还在solo用不上?那不是更要收藏一波,以备 ...

  9. 七夕节,程序员特有的表白方式!

    [回复"1024",送你一个特别推送] 我能「抽象」出整个世界 但是我不能「抽象」出你 因为你在我心中是那么的具体 所以我的世界并不完整 我可以「重载」甚至覆盖这个世界里的任何一种 ...

最新文章

  1. LeetCode Basic Calculator(用栈计算表达式的值)
  2. 数字图像处理:第十五章 图象分割
  3. P3435-[POI2006]OKR-Periods of Words【KMP】
  4. javagei图片设置热点_【物理考点】重磅押题: 2020高考物理必考热点+命题预测+例题解析, 快快快收藏!...
  5. spark运行pi_如何使用甜蜜的橙色Pi起床并运行
  6. rz/sz命令参数解释
  7. 线性表之简介及顺序表
  8. java面试 谈谈jvm内存结构
  9. 微信小程序开发教程第五章:微信小程序名片夹详情页开发
  10. C++小游戏——小岛战争
  11. L298Nnbsp;驱动模块的应用
  12. centos 6.8 安装mysql
  13. android .dex文件,对于Android DEX文件详细说明
  14. 毛笔字软件测试简历,写字测试
  15. [微信聊天]--一个人有多成熟,就看他如何聊微信
  16. 【安卓开发系列 -- 开发环境】Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具)
  17. 怎么找到appdata文件夹?
  18. Ka波段卫星通信终端市场现状及未来发展趋势
  19. python怎么使用库里的pi_python怎么调用pi
  20. glu 、glut 、freeglut与glew 作用

热门文章

  1. 我是这样搞定第一次单目相机测距的
  2. [软件工程] 软件工程概念
  3. js 将日期增加30分钟为支付过期时间
  4. tplogin服务器未响应,tplogin.cn登录地址无法打开显示解决办法
  5. 串口读取称或是地磅数据
  6. 基于NE555芯片的简单延时电路和方波信号发生器
  7. linux 查看进程及进程内存使用情况
  8. python——多个excel表格合并到一个excel中的多个sheet中
  9. react父子组件间的交流
  10. iPhone14卫星通信实测:发条短信平均3-5分钟,没点耐心真不行