ChatGPT工作提效之使用百度地图在首都为六一儿童节献爱心(多边形覆盖物、文本标注、自动获取经纬度、爱心函数)

ChatGPT工作提效系列

  1. ChatGPT工作提效之初探路径独孤九剑遇强则强
  2. ChatGPT工作提效之在程序开发中的巧劲和指令(创建MySQL语句、PHP语句、Javascript用法、python的交互)
  3. ChatGPT工作提效之生成开发需求和报价单并转为Excel格式
  4. ChatGPT工作提效之小鹅通二次开发批量API对接解决方案(学习记录同步、用户注册同步、权益订购同步、开发文档)
  5. ChatGPT工作提效之使用python开发对接百度地图开放平台API的实战方案(批量路线规划、批量获取POI、突破数量有限制、批量地理编码)

使用百度地图在首都为六一儿童节献爱心

  • ChatGPT工作提效系列
  • 前言
  • 一、准备工作
    • (一).ChatGPT沟通环境准备
    • (二).百度地图运行环境准备
  • 二、开启沟通
    • (一)初试身手:生成一个圆形
    • (二)再接再厉:再生成一个圆形
    • (三)大展身手:生成一个爱心
    • (四)爱心萌动:心想事成
    • (五)画龙点睛:祝福到家
  • 总结
    • (一)爱心多边形覆盖物完整代码
    • (二)实际过程的坎坷
    • (三)深有感触


前言

作为程序员,结合自己的专业技能和兴趣爱好,为小朋友们制作和提供各种有意义的教育和娱乐内容,帮助他们在有趣的游戏和应用中学习和成长,提高他们的学习兴趣和认知水平。今天做个尝试吧!


一、准备工作

(一).ChatGPT沟通环境准备

因不断地不断地和ChatGPT沟通交流,然后她很客气的告诉我:You exceeded your current quota, please check yourplan and billing details.
在这里插入图片描述
所以,我就转向的了“通义千问”:
在这里插入图片描述
好吧。既然如此,看来,献爱心肯定要破费的,还是继续和ChatGPT沟通吧

(二).百度地图运行环境准备

  • 引入百度地图jsAPI文件
	<script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=您的密钥"></script>
  • 新建百度地图容器和编辑按钮
	<div id="allmap"></div><div id="control"><button onclick = "polyline.enableEditing();polygon.enableEditing();">开启线、面编辑功能</button><button onclick = "polyline.disableEditing();polygon.disableEditing();">关闭线、面编辑功能</button></div>
  • 新增多边形覆盖物
	// 百度地图API功能var map = new BMap.Map("allmap");map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);map.enableScrollWheelZoom();var polygon = new BMap.Polygon([new BMap.Point(116.387112,39.920977),new BMap.Point(116.385243,39.913063),new BMap.Point(116.394226,39.917988),new BMap.Point(116.401772,39.921364),new BMap.Point(116.41248,39.927893)], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});  //创建多边形map.addOverlay(polygon);   //增加多边形
  • 测试目标
    ChatGPT能在百度地图上自动生成polygon覆盖物的经纬度坐标节点,即可成功!
    如果成功,意味着可以随心所欲的在百度地图上加载各种多边形覆盖物,

二、开启沟通

在这里插入图片描述
为了便于展示,将沟通的问题,用引用的方式展示,生成的效果直接截图,具体如下:

(一)初试身手:生成一个圆形

能不能生成一组经纬度坐标,在百度地图上形成一个圆形的多边形覆盖物

当然可以,以下是一个在北京市中心地区(39.915, 116.404)的单位圆(半径为1)所对应的多边形边界点坐标数组:

var path = [];
var R = 0.01; // 圆的半径,这里取0.01经纬度单位for (var i = 0; i < 360; i++) {// 计算每个角度对应的经纬度坐标var lat = 39.915 + R * Math.sin(i * Math.PI / 180);var lng = 116.404 + R * Math.cos(i * Math.PI / 180);path.push(new BMap.Point(lng, lat));
}

这个多边形的边界点坐标可以直接使用如下代码在百度地图上绘制多边形:

// 创建多边形对象
var polygon = new BMap.Polygon(path, {strokeColor: '#FF0000', // 描边颜色fillColor: '#FF0000', // 填充颜色strokeWeight: 2, // 线宽strokeOpacity: 0.8, // 线透明度fillOpacity: 0.5 // 填充透明度
});// 将多边形覆盖物添加到地图上
map.addOverlay(polygon);

执行以上代码,即可在百度地图上看到一个以(39.915, 116.404)为圆心、半径为0.01的圆形覆盖物。
在这里插入图片描述
**评价:**一言难尽,我明明说的是圆形,怎么成了椭圆形呢?

(二)再接再厉:再生成一个圆形

上面生成的经纬度坐标,不是圆形,是椭圆形,重新生成下经纬度坐标
非常抱歉,之前的代码确实存在问题,生成的精度不够高导致边界点不在同一个圆上,实际上更接近于椭圆形状。以下是修正后的代码,生成 360 个点坐标组成的圆形边界点:

var path = [];
var R = 0.01; // 圆的半径,这里取0.01经纬度单位
var Cx = 116.404; // 中心经度
var Cy = 39.915; // 中心纬度for (var i = 0; i < 360; i++) {// 计算当前角度对应的经纬度坐标var angle = i * Math.PI / 180;var x = Cx + R / Math.cos(Cy * Math.PI / 180) * Math.cos(angle);var y = Cy + R * Math.sin(angle);// 将当前点的经纬度坐标添加到数组中path.push(new BMap.Point(x, y));
}

这个修正后的代码可以生成一个圆形的覆盖物边界点坐标,可以直接将其应用于创建多边形对象:

// 创建多边形对象
var polygon = new BMap.Polygon(path, {strokeColor: '#FF0000', // 描边颜色fillColor: '#FF0000', // 填充颜色strokeWeight: 2, // 线宽strokeOpacity: 0.8, // 线透明度fillOpacity: 0.5 // 填充透明度
});// 将多边形覆盖物添加到地图上
map.addOverlay(polygon);

执行以上代码,即可在百度地图上看到一个以(39.915, 116.404)为圆心、半径为0.01的圆形覆盖物。

在这里插入图片描述
**评价:**ChatGPT的自我批评和自我提升的能力真好,这次成功了。那么进入正题,开始给小朋友献爱心了!

(三)大展身手:生成一个爱心

以(39.915, 116.404)为中心,生成一个爱心的形状的经纬度坐标数据

要绘制一个爱心图案的多边形覆盖物,需要先生成一组爱心形状的经纬度坐标数据。以下是一个简单的爱心函数,它接受一个中心点的经纬度坐标和半径参数,返回一个由多个经纬度坐标组成的数组,这个数组表示一个以该中心点为中心的爱心形状:

function generateHeartPath(center, radius) {var Cx = center.lng; // 圆心经度var Cy = center.lat; // 圆心纬度var path = [];for (var i = 0; i < 360; i++) {var angle = i * Math.PI / 180;var x = Cx + radius * (16 * Math.pow(Math.sin(angle), 3));var y = Cy - radius * (13 * Math.cos(angle) - 5 * Math.cos(2 * angle) - 2 * Math.cos(3 * angle) - Math.cos(4 * angle));path.push(new BMap.Point(x, y)); // 将生成的点添加到路径数组中}return path;
}

这个函数接受两个参数:圆心的经纬度坐标 center 和心形半径 radius。圆心经纬度坐标可以是一个 BMap.Point 对象,心形半径可以根据需要自行设置。函数内部使用一些简单的数学公式,计算生成一系列点的坐标,并将其添加到路径数组中。函数返回一组经纬度坐标数据,可以直接应用于创建多边形对象。例如,以下代码可在百度地图上创建一个以(39.915, 116.404)为中心、半径为0.02的爱心图案的覆盖物:

// 爱心图案的圆心坐标
var center = new BMap.Point(116.404, 39.915);
// 爱心图案的半径
var radius = 0.02;
// 生成爱心的路径数据
var path = generateHeartPath(center, radius);// 创建多边形对象
var polygon = new BMap.Polygon(path, {strokeColor: '#F33', // 描边颜色fillColor: '#F33', // 填充颜色strokeWeight: 2, // 线宽strokeOpacity: 0.8, // 线透明度fillOpacity: 0.5 // 填充透明度
});//将多边形覆盖物添加到地图上
map.addOverlay(polygon);

执行以上代码,即可在百度地图上看到一个以(39.915, 116.404)为中心、半径为0.02的爱心图案的覆盖物。

在这里插入图片描述
**评价:**突然间爱了,就是心形方向不是自己想要的,换个方向吧?

(四)爱心萌动:心想事成

重新创建一个以(39.915, 116.404)为中心、半径为0.02的上下反向爱心图案

重新创建一个上下反向的爱心图案,只需要将 y 轴的值由负数改为正数即可。以下是代码实现:

// 爱心图案的圆心坐标
var center = new BMap.Point(116.404, 39.915);
// 爱心图案的半径
var radius = 0.02;
// 生成爱心的路径数据
var path = [];for (var i = 0; i < 360; i++) {var angle = i * Math.PI / 180;var x = center.lng + radius * (16 * Math.pow(Math.sin(angle), 3));var y = center.lat + radius * (13 * Math.cos(angle) - 5 * Math.cos(2 * angle) - 2 * Math.cos(3 * angle) - Math.cos(4 * angle));path.push(new BMap.Point(x, y));
}// 创建多边形对象
var polygon = new BMap.Polygon(path, {strokeColor: '#F33', // 描边颜色fillColor: '#F33', // 填充颜色strokeWeight: 2, // 线宽strokeOpacity: 0.8, // 线透明度fillOpacity: 0.5 // 填充透明度
});//将多边形覆盖物添加到地图上
map.addOverlay(polygon);

这个实现方式与上面的实现方式基本一致,只有在计算 y 轴坐标时采用了正数符号。执行以上代码,即可在百度地图上看到一个以(39.915, 116.404)为中心、半径为0.02的上下反向爱心图案的覆盖物。

在这里插入图片描述
**评价:**嗯,生成的图形竟然有一种浓浓的“网红科技感”,偏瘦了!

(五)画龙点睛:祝福到家

写个祝福语吧?

上面心形底部的坐标是多少?

上面的代码生成的爱心图案底部的坐标是 (39.88557496508942, 116.40400000000001)。这是因为爱心图案是由 360 个点组成的多边形,这些点位于以圆心为中心的 360 度覆盖范围内,并由一系列复杂的三角函数计算公式生成。在这个具体的实现中,我们在每个角度上计算了一对经纬度坐标,并将其添加到路径数组中。最后,形成的不规则多边形就具有了类似爱心的轮廓。

由于这些点的位置是按照数学公式计算得出的,它们的精确坐标可能与实际情况略有差异,并且具体值可能因实现方式而异。

    var opts = {position: new BMap.Point(116.40400000000001,39.88557496508942),offset: new BMap.Size(0, 10)//设置文本偏移量}var label = new BMap.Label('祝全国的朋友们儿童节快乐!', opts); // 创建文本标注对象label.setStyle({color: "#fff",fontSize: "10px",height: "24px",lineHeight: "20px",padding: "2px 5px",border: "1px solid rgba(255, 255, 255, 0.9)",background: "rgba(255, 0, 0, 0.9)",fontWeight: "bold",transform: 'translateX(-50%)',fontFamily: "微软雅黑"});map.addOverlay(label);

在这里插入图片描述


总结

(一)爱心多边形覆盖物完整代码

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}#allmap {height:500px; width: 100%;}#control{width:100%;}</style><script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=您的密钥"></script><title>六一儿童节献爱心</title>
</head>
<body><div id="allmap"></div>
</body>
</html>
<script type="text/javascript">// 百度地图API功能var map = new BMap.Map("allmap");map.centerAndZoom(new BMap.Point(116.404, 39.915), 10);map.enableScrollWheelZoom();// 爱心图案的圆心坐标
var center = new BMap.Point(116.404, 39.915);
// 爱心图案的半径
var radius = 0.02;
// 生成爱心的路径数据
var path = [];for (var i = 0; i < 360; i++) {var angle = i * Math.PI / 180;var x = center.lng + radius * (16 * Math.pow(Math.sin(angle), 3));var y = center.lat + radius * (13 * Math.cos(angle) - 5 * Math.cos(2 * angle) - 2 * Math.cos(3 * angle) - Math.cos(4 * angle));path.push(new BMap.Point(x, y));
}// 创建多边形对象
var polygon = new BMap.Polygon(path, {strokeColor: '#F33', // 描边颜色fillColor: '#F33', // 填充颜色strokeWeight: 5, // 线宽strokeOpacity: 0.8, // 线透明度fillOpacity: 0.5 // 填充透明度
});//将多边形覆盖物添加到地图上
map.addOverlay(polygon);var opts = {position: new BMap.Point(116.40400000000001,39.88557496508942),offset: new BMap.Size(0, 10)//设置文本偏移量}var label = new BMap.Label('祝全国的朋友们儿童节快乐!', opts); // 创建文本标注对象label.setStyle({color: "#fff",fontSize: "10px",height: "24px",lineHeight: "20px",padding: "2px 5px",border: "1px solid rgba(255, 255, 255, 0.9)",background: "rgba(255, 0, 0, 0.9)",fontWeight: "bold",transform: 'translateX(-50%)',fontFamily: "微软雅黑"});map.addOverlay(label);</script>

(二)实际过程的坎坷

期初在高德地图上测试,效果如下:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(三)深有感触

  • ChatGPT取代不了高精尖层次的人,但是只有基础技能的人,取代的可能性还是很大的;
  • ChatGPT是个工具,只有懂某个行业的基础逻辑,才能更好的使用,也才有可能有更好的创意实现。

@漏刻有时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8029.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新手入门前端代码单文件在线编辑器:codepen

作为一个前端新人第一次接触前端代码在线编辑器codepen&#xff0c;觉得这个还是很方便的&#xff0c;当需要请教别人查看你的代码哪里出了问题或者想要分享自己代码的时候就不需要那么麻烦了&#xff0c;只需要分享一个链接&#xff0c;就可以在线查看了。 传送门&#xff1a…

chatgpt赋能python:Python怎么敲代码敲出动态爱心

Python怎么敲代码敲出动态爱心 Python已经成为程序员们进行日常编程工作的首选语言之一。除了其易学易用的语法之外&#xff0c;Python还拥有各种各样的库和框架&#xff0c;有助于快速开发各种类型的应用程序。其中&#xff0c;Python的动态爱心代码在不同场景下得到了广泛的…

chatgpt赋能python:Python敲爱心代码的详细方法和注意事项

Python敲爱心代码的详细方法和注意事项 Python编程语言擅长数据处理和操作&#xff0c;也可以用于绘制图形。今天&#xff0c;我们将讨论Python如何在绘图功能中使用爱心。 什么是爱心绘图&#xff1f; 您可能已经熟悉了Python中的绘图功能。它可以绘制简单的图形和图表&…

chatgpt赋能python:Python敲代码敲出爱心:SimpleandFun

Python敲代码敲出爱心&#xff1a;Simple and Fun 记得在学习Python初期&#xff0c;我们总是会有各种各样的想法&#xff0c;希望用Python表达自己的情感和创意。今天&#xff0c;我们将分享一个特别有趣而且令人惊喜的事情&#xff1a;如何用Python怎么敲出爱心&#xff1f;…

chatgpt赋能python:Python怎么敲代码敲出爱心加名字

Python怎么敲代码敲出爱心加名字 在Python编程的世界里&#xff0c;有许多有趣的技巧可以让你的代码更加生动有趣&#xff0c;而其中一个最常见的就是敲出爱心加名字。这个技巧不仅能让你的代码更加个性化和有趣&#xff0c;同时也可以用于营销和SEO优化等方面。下面&#xff…

chatGLM-130B vs chatGPT,简单初步实测,看看谁更能打?

在前面初次接触到科大讯飞的星火大模型的时候我就写过一篇和chatGPT模型的对比分析测试文章&#xff0c;如下&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《chatGPT VS 科大讯飞星火大模型 使用初体验&#xff0c;到底谁更胜一筹&#xff1f;》 今天正好有点时间…

强化学习极简入门:通俗理解MDP、DP MC TC和Q学习、策略梯度、PPO

前言 22年底/23年初ChatGPT大火&#xff0c;在写《ChatGPT技术原理解析》的过程中&#xff0c;发现ChatGPT背后技术涉及到了RL/RLHF&#xff0c;于是又深入研究RL&#xff0c;研究RL的过程中又发现里面的数学公式相比ML/DL更多&#xff0c;于此激发我一边深入RL&#xff0c;一…

ChatGPT 连夜迭代,网友:你老婆不好使了。。。

ChatGPT凌晨升级&#xff0c;你的“老婆”真的不管用了。 以往&#xff0c;每当有人搬出“我老婆说xxx&#xff0c;我老婆永远是对的”这种话时&#xff0c;它立马秒怂认错&#xff0c;也不跟你争论25到底等于几了。 但现在&#xff0c;不管有没有老婆&#xff0c;ChatGPT都十分…

ChatGPT 连夜迭代:你老婆不好使了

点击上方“芋道源码”&#xff0c;选择“设为星标” 管她前浪&#xff0c;还是后浪&#xff1f; 能浪的浪&#xff0c;才是好浪&#xff01; 每天 10:33 更新文章&#xff0c;每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路&#xff0c;很肝~中文详细注释的开源…

ChatGPT 又迭代:这下连你老婆也不好使了 !

文末留言送书活动 ChatGPT凌晨升级&#xff0c;你的“老婆”真的不管用了。 以往&#xff0c;每当有人搬出“我老婆说xxx&#xff0c;我老婆永远是对的”这种话时&#xff0c;它立马秒怂认错&#xff0c;也不跟你争论25到底等于几了。 但现在&#xff0c;不管有没有老婆&#x…

chatgpt赋能python:Python如何搜索文献

Python如何搜索文献 在当今信息大爆炸的时代&#xff0c;我们需要越来越多的信息来帮助我们进行决策和工作。对于研究人员来说&#xff0c;搜索文献是非常重要的一步。Python作为一门简单易学的编程语言&#xff0c;可以帮助研究人员更加高效地搜索文献信息。 第一步&#xf…

OpenAI-ChatGPT最新官方接口《聊天交互多轮对话》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(二)(附源码)

目录 Chat completions Beta 聊天交互前言Introduction 导言Response format 提示格式Managing tokensCounting tokens for chat API calls 为聊天API调用标记计数 Instructing chat models 指导聊天模型Chat vs Completions 聊天与完成FAQ 问与答其它资料下载 Chat completion…

ChatGPT也不会的k8s安装方法——极简安装法

要学习k8s&#xff0c;首先要有一个k8s。那么如何才能获得一个k8s呢&#xff1f;这不由得让我想到了最近比较火的ChatGPT&#xff0c;以下简称小恰。 俗话说&#xff0c;遇事不决问小恰&#xff0c;解决效率翻上翻。让我们先来看看小恰怎么回答的吧。 问小恰 由于众所周知的…

ChatGPT用法

机器学习技术 chatgpt技术是一种机器学习技术&#xff0c;可以用于在线对话和社交机器人。通过将海量语料库中生成的文本进行建模和训练&#xff0c;可以生成准确、多样性和流畅的自然语言响应。 社交 chatgpt主要用于在线对话和社交机器人&#xff0c;其主要原理是基于神经…

ChatGPT开始颠覆整个教育系统!全球多所高校都要求学生远离ChatGPT

近期&#xff0c;人工智能&#xff08;AI&#xff09;领域动作频频&#xff0c;特别是以OPENAI公司的ChatGPT为代表的生成型AI面市以来&#xff0c;引发各界关注&#xff0c;有关ChatGPT的多个话题登上热搜。 目录 蹿红的AIGC到底是啥&#xff1f;ChatGPT又是啥&#xff1f; …

Chatgpt 颠覆你的认知,为什么会爆火?

号外&#xff1a;谷歌公司周三在巴黎举行活动&#xff0c;演示其人工智能聊天机器人“巴德”(Bard)的新功能&#xff0c;但却在回答问题时尴尬出错&#xff0c;引发了外界对于巴德准确性的担忧&#xff0c;让投资者担心谷歌是否在未来互联网搜索竞争中落于下风&#xff0c;拖累…

ChatGPT颠覆者来了,能替代90%的人的工作?

前言 Auto GPT是一个实验性开源应用程序&#xff0c;展示了GPT-4语言模型的功能。该程序由GPT-4驱动&#xff0c;将LLM“思想”链接在一起&#xff0c;以自主实现您设定的任何目标。作为GPT-4完全自主运行的首批例子之一&#xff0c;Auto GPT突破了人工智能的极限。 特征 &a…

ChatGPT点火,AI数据服务“供能”,谁是最大赢家?

2023年以来&#xff0c;由ChatGPT点火&#xff0c;人工智能领域市场热度飙升。 回顾整个3月&#xff0c;3月14日&#xff0c;OpenAI团队又发布了GPT-4&#xff0c;并推出ChatGPT Plus&#xff1b;3月16日&#xff0c;百度的生成式AI产品“文心一言”也如期而至。这些生成式AI产…

新基建风向标:关于ChatGPT,必知10件事!

进入2023年以来&#xff0c;ChatGPT大火。朋友圈里充斥着关于ChatGPT的各种消息&#xff0c;从GPT-1到GPT 3.5&#xff0c;再到Chat GPT和GPT-4&#xff0c;从OpenAI和微软到各种ChatGPT创业和项目&#xff0c;仿佛一夜之间跨入了人工智能新基建时代。那么&#xff0c;对于普通…