前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python FastApi集成百度地图并反显到地图

Python FastApi集成百度地图并反显到地图

原创
作者头像
疯狂的KK
发布于 2023-03-22 03:34:25
发布于 2023-03-22 03:34:25
6191
举报
文章被收录于专栏:Java项目实战Java项目实战

新建FastApi项目

导入需要依赖

from fastapi import FastAPI, Request

from fastapi.responses import HTMLResponse

import requests

from jinja2 import Template

在项目根目录下新建templates文件夹以存储静态文件

在main.py下编写根据IP地址解析用户所在城市

代码语言:txt
AI代码解释
复制
@app.get("/map", response_class=HTMLResponse)
async def root(request: Request):
    # 获取用户IP地址
    user_ip = "70.247.94.66"
    # 使用百度地图API获取用户所在城市
    baidu_api_key = "你自己的ak"
    baidu_api_url = f"https://****?ak={baidu_api_key}&ip={user_ip}&coor=bd09ll"
    response = requests.get(baidu_api_url)
    city = response.json()["content"]["address_detail"]["city"]
    x = response.json()["content"]["point"]["x"]
    y = response.json()["content"]["point"]["y"]
    # 生成HTML页面
    with open("templates/index.html", "r") as f:
        template = Template(f.read())
    html = template.render(city=city,x=x,y=y)
    # 返回HTML页面
    return html

编写前端html

代码语言:txt
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=你自己的ak"></script>
    <title>根据经纬度定位</title>
    <style>
        html, body, #allmap{
            width: 100%;
            height: 100%;
            padding: 0;
            margin: 0;
            overflow: hidden;
        }
        #result{
            padding: 7px 10px;
            position: fixed;
            top: 10px;
            left: 20px;
            width: 450px;
            background: #fff;
            box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);
            border-radius: 7px;
            z-index: 99;
        }
        #result input{
            width:130px;
            margin-right:10px;
            height:25px;
            border: 1px solid rgba(27, 142, 236, 0.5);
            border-radius: 5px;
        }
        #result button{
            border: 1px solid rgba(27, 142, 236, 0.5);
            border-radius: 5px;
            background: rgba(27, 142, 236, 0.5);
            color: #fff
        }
</style>
</head>
<body>
    <div id='allmap'></div>
    <div id='result'>
        经度: <input id="lng" value="{{x}}" type="text"/>
        纬度: <input id="lat" value="{{y}}" type="text"/>
        <button onclick="theLocation()"/>查询</button>
    </div>
    <script>
        // 百度地图API功能
        var map = new BMapGL.Map("allmap");
        map.centerAndZoom(new BMapGL.Point(116.331398,39.897445),11);
        map.enableScrollWheelZoom(true);

        // 用经纬度设置地图中心点
        function theLocation(){
            if(document.getElementById("lng").value != "" && document.getElementById("lat").value != ""){
                map.clearOverlays();
                var new_point = new BMapGL.Point(document.getElementById("lng").value,document.getElementById("lat").value);
                var marker = new BMapGL.Marker(new_point);  // 创建标注
                map.addOverlay(marker);              // 将标注添加到地图中
                map.panTo(new_point);
            }
        }
</script>
</body>
</html>

启动项目,请求

代码语言:txt
AI代码解释
复制
http://127.0.0.1:8000/map

点击查询

百度地图有海量api可进行调用,FastApi集成百度地图api调用,完整代码请回复关键字【fastapi】获取

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
fastapi
fastapi
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
基于百度地图api获取某一点的详细信息 逆向解析地址
本章您将能学到:使用百度地图api动态获取到地图上某一点的中文地址详细信息与对应的坐标轴信息。
啦啦啦啦
2023/02/27
8090
百度地图api根据坐标搜索附近信息_最简单app制作
  这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的。只要简单几步注册下,就可以获得一个Key,就能直接调用(PS:好像1.3版本前的无需注册获取key,就能直接调用api)。   想着能结合到自己的项目中去,那也挺不错的。看了园子中的几篇文章,感觉甚好,想自己也动手试试。 在调用百度地图API的时候,经纬度的获取必然是关键,那么怎么样获取到经纬度的值呢?这是一个最首要解决的问题。 通过查询资料,看了几个例子,得知了调用的方法(感谢与时俱进的实例,给予很大的帮助)。站着巨人的肩膀上,就能比较快的实现功能。   闲话不多,下面就直接给大家介绍下,具体要怎么调用百度地图API。   首先新建一张html页面。然后引用上API:
全栈程序员站长
2022/09/20
1K0
百度地图api根据坐标搜索附近信息_最简单app制作
百度地图设置显示公司地址
在百度地图开放平台(http://lbsyun.baidu.com/)登录账号新建应用,应用类型选择浏览器端,建立完成后我们会得到应用AK。
泽泽社长
2023/04/17
8770
百度地图设置显示公司地址
百度地图API的使用示例
刚刚工作的时候写过百度地图API文档,那时候没有记录到技术博客里面,今天在群里看见有个姑娘在问这个问题,重温了一遍,这个API还算好用。百度地图API,集成简单好用,全面,兼容问题,文档全面;
王小婷
2018/08/10
1.3K0
百度地图API的使用示例
【python】【Djang】GPS/北斗串口数据实时定位百度地图
本项目为从串口读取GPS/北斗设备接收数据,进行处理后使用百度地图api实时显示定位。
一点儿也不潇洒
2018/12/13
7K2
【python】【Djang】GPS/北斗串口数据实时定位百度地图
百度地图电子围栏功能的实现
最近公司项目需求,要做一个百度地图电子围栏的功能,在网上查了一下资料,看了很多博客,大多数都写的不是很详细,我看的云里雾里的,最后终于集合所有的几篇资料,自己做出了一个简单的demo,下面将过程记录和分享一下,希望给予有需要同学一些帮助,我这个人说话比较啰嗦,所以写的一定会很详细的,哈哈!闲言少叙,开始了。
CherishTheYouth
2019/07/30
3.6K0
百度地图电子围栏功能的实现
百度地图上,路线轨迹的3D动画展示
效果展示 http://mpvideo.qpic.cn/0bf2v4aauaaa2aaeoxeiobpfbl6dbkxqacqa.f10002.mp4?dis_k=86dfca79527145d2c6
double
2020/05/08
3.5K1
高质量编码-在地图上调整Excel位置经纬度(前端开发)
省略说明html和css,下面介绍一下js中各部分函数负责的功能。 image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png im
MiaoGIS
2021/07/14
8140
高质量编码-在地图上调整Excel位置经纬度(前端开发)
JQuery实现坐标拾取和地址模糊查询
本文详细讲解了如何使用 JQuery+HTML+JavaScript 实现移动端页面中的地图位置选取功能。本文逐步展示了如何构建基本的地图页面,如何通过点击地图获取经纬度和地理信息,以及如何实现模糊查询地址并在地图上标注。最后,提供了完整的代码示例,并总结了基于地图API进行地图位置选点的开发过程,帮助开发者快速上手并应用到实际项目中。
Damon小智
2024/08/11
2340
JQuery实现坐标拾取和地址模糊查询
Vue.js实现百度地图定位、搜索及获取经纬度
百度地图官方给出的SDK没有vue版本,我们可以引入百度地图的js,去实现百度地图定位,并实现搜索、以及获取经纬度,其实现方法和纯html+js是一样的,只不过是多了一层vue的方法(methods)。 当打开页面的时候,百度地图自动定位当前位置,给出一个搜索框,搜索我们所想要寻找的目标地址,百度地图会列出相关检索结果,点击检索结果,并在地图上定位,然后获取到经纬度。 1.在 public/index.html 中引入百度地图SDK的JS文件
子润先生
2021/06/23
3.1K0
简单明了实现Java地图小程序项目
地图技术就是使用地图服务来完成各种业务的一种技术,如:基于经纬度定位、查询出行路线、导航、搜索附近的商场等。随着移动互联网的发展,移动终端可以更方便的获取用户的位置数据,地图技术的应用也得到了广泛的应用,如:网约车、智能穿戴、智能物流、智能景区、互联网房产、在线旅游、车用数据服务等。
苏州程序大白
2022/09/16
1.6K0
简单明了实现Java地图小程序项目
前端切图:调用百度地图API
原型图 图片发自简书App <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <s
王小婷
2018/06/01
1.3K0
angularJs集成百度地图
app.controller('mapSignController',function($scope,$rootScope,Message, $window,$uibModalInstance){
JQ实验室
2022/02/09
3700
百度地图使用记录
loadBaiduMap.js export default function loadBaiduMap(ak) { return new Promise(function (resolve, reject) { // window.onload = function () { // resolve(BMapGL) // } window.init = function(){ resolve(BMapG
tianyawhl
2022/12/21
6030
百度地图电子围栏功能
今年疫情以来,工作都比较紧凑,没能抽出时间来记录工作日常了。最近接触一个项目需要使用到百度地图的围栏功能,作为前期调研,先探探路。 经过一番搜搜,找到一篇不错的文章。专门介绍,百度地图围栏的。地址如下:https://www.cnblogs.com/CherishTheYouth/p/CherishTheYouth_20190416.html
用户5640963
2020/10/26
4.2K0
百度地图电子围栏功能
利用python和百度地图API实现数据地图标注
地址:http://developer.baidu.com/map/jsdemo.htm#c1_19
IT派
2018/07/30
4.9K0
利用python和百度地图API实现数据地图标注
webGIS,基于百度地图的HelloWord实现
随着前端技术的不断发展,WebGIS普及度也越来越广,本篇将主要讲解基于百度地图JavaScript API GL v1.0
啦啦啦啦
2023/02/27
4290
webGIS,基于百度地图的HelloWord实现
百度地图AP1「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116471.html原文链接:https://javaforall.cn
全栈程序员站长
2022/01/21
6740
地图的折腾
一个纯后台人员折腾前端,最近有个地图的小需求。然后去折腾了一把百度地图。其中一个要求就是在地图按数字标注目标位置。
BUG弄潮儿
2021/09/10
7750
地图的折腾
百度地图简单对接
地位越高,自我评价就越高,自信心多强,能力就有多强。我们总能表现出与环境的和谐平等。——赫兹里特 效果如下 跟着官网一步一步来即可 申请成为开发者 然后在应用管理里创建应用 填写信息 点击复制AK 然后复制代码 <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type"
阿超
2022/08/16
4370
百度地图简单对接
相关推荐
基于百度地图api获取某一点的详细信息 逆向解析地址
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档