调用百度地图API,将数据标记在地图中,得到如下效果:
更新后的项目除了需要完成下面的配置之外,还要申请一个百度地图开发者账号,也就是获取百度地图AK。
然后更换src/main/resources/templates/index.html第十五行中ak后面的一串字符串为你申请到的AK:
<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=WUyyGnd4NcFKwKo78u7NgWb0ncVa9AzB"></script>
修改之后即可运行。
本项目涉及到的技术要点以及相关版本:
- springboot:2.2.6.RELEASE
- tomcat:8.0
- mysql:5.7
- 百度翻译开放API
- HTTP GET
注:mysql也可以用8.0版本,不过要在POM文件中将mysql-connector-java这个包的版本改为8.0的。
基本思路:
基于springboot的定时功能,使用HTTP GET
获取json格式疫情数据,
通过处理后调用百度翻译API
将国家名称转化为中文,最后将获取到的数据通过Spring Data Jpa映射写入到mysql数据库中。
前端页面可通过访问数据库内容获取疫情数据。
如果你觉得本项目对你有用的话,欢迎给个star呢。
本人也是个springboot新手,项目中难免有些问题,欢迎大家指正,有兴趣的可以加一下我的微信,一起交流学习:
(1)首先,在本地安装mysql服务,linux平台或者windows平台搭建方法不同,详情可百度,基本都有完整方法。
mysql安装好之后,设置账号密码:假定你的账号密码为:user:root; password:vadmin123@VADMIN
在这边要注意一点,要在数据库中保存中文,要进行一些设置:详情可参考: https://www.cnblogs.com/BHfeimao/p/6496574.html
进入到mysql中,创建一个spring-guides数据库。
(2)申请百度翻译开发者账号:https://api.fanyi.baidu.com/ ,申请百度通用翻译API,可以获取到APP ID和密钥。 用于将国家名称翻译为中文。
(3)将本项目下载下来之后,解压到某个位置,将本项目导入IDEA,具体为:
导入方法:
File -> New -> Project From Existing Resources -> get-covid19-global-data-v2 -> Import As Maven
示例:
(4)项目导入IDEA之后,修改以下文件:
src/main/resources/application.properties文件中,将username和password设置为你的mysql数据库账号密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/spring-guides?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=vadmin123@VADMIN
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none
spring.jackson.serialization.indent_output=true
src/main/java/com/weilian/covid19/scheduler/SchedulerTasks.java文件中的第44、45行, 修改如下内容为你申请的百度翻译API的app id和密钥:
String APP_ID = "";
String SECURITY_KEY = "";
(5)修改完之后,运行Covid19Application.java
,即可在控制台看到输出:
本地浏览器访问:
http://localhost:8080
,可看到:
如果你觉得本项目对你有用的话,欢迎给个star呢。