用Django+Json对百度地图进行标点(项目)可将经纬度转化为地址

该项目使用Django框架结合JSON数据,在百度地图上标记特定位置。用户输入姓名,匹配成功后返回对应坐标,前端显示在地图上。通过配置URL、定义视图函数实现姓名搜索及经纬度转换为地址的功能。
摘要由CSDN通过智能技术生成

1、先绘制一张中国大地图:可展示中国大致的疫情情况

2、大地图可跳转至各个省份

3、当大地图跳转至重庆,进入百度地图

4、对【小镭】经过的点进行标记

点击省份【四川】,可进入四川省份地图,双击退回全国地图

 点击省份【重庆】,输入要查询的姓名 ,如【小镭】,提交后进入百度地图

可查看到【小镭】经过了两个地点(坐标),并在百度地图上显示

 划过跳动的标记点,可查看详细信息

 

思路:

用户在前端输入要查询的数据,表单提交到后台,后台进行判断,如果传过来的数据能匹配到后台列表里的【姓名】,则返回对应的姓名的【坐标列表】,若没有则返回【查询不到信息】。

(1)配置URL

from django.conf.urls import url
from demo import views
from django.urls import path

urlpatterns = [
    url(r'^T/$', views.home, name='demo'),
]

(2)定义视图函数

获取前端表单提交的数据,后台对传过来的姓名进行搜索,再将对应的坐标数据传给前端


def home(request):
    Dict0 = {'小甲':[(106.584766,29.568199),
                  (107.790934,29.376906),
                  (109.894762,31.086327),
                  (108.779749,29.305089),
                  (106.628838,29.561727),
                  (106.450859,29.495614),
                  (106.439876,29.591537)],
            '小乙':[(108.758913,28.864319),
                  (106.397459,28.622101),
                  (106.521106,29.672908),
                  (107.745381,29.503326),
                  (107.915022,29.235099),
                  (107.811703,29.439361),
                  (107.732167,29.892034),
                  (106.44153,29.590758)],
            '小丙':[(106.543065,29.555566),
                  (105.801354,29.754546),
                  (106.583661,29.563793),
                  (106.590326,29.722571),
                  (106.516083,29.633519),
                  (106.548765,29.496741),
                  (106.583541,29.563475),],
            '小丁':[(106.438521,29.582918),
                  (106.689189,29.612501),
                  (106.514014,29.575783),
                  (106.599318,29.514712),
                  (106.594374,29.572838),
                  (106.494897,29.607112),
                  (106.207561,29.562208),
                  (106.546513,29.557545),],
             '小镭':[
                   (106.513084,29.621921),
                   (106.31856,29.520634),
                   (108.221158,29.190937),
                   (106.83719,29.864257),
                   (106.556125,29.69365),
                   (106.555731,29.687757),
                   (106.557197,29.682198),
                   (106.841025,29.865025),
                   (106.563211,29.68192),],
             '小黑':[(106.315249,29.613585),
                   (106.544191,29.558955),
                   (106.512695,29.381705),
                   (106.462002,29.5383),
                   (106.556521,29.618368),]
            }
    points_dict = {}
    data1 = ' ... '
    data2 =  ' '
    if request.method == 'POST':
        data1= request.POST.get('DATA1')
        data2 = request.POST.get('DATA2')
        for i in Dict0.keys():
            if i==data1:
                data2 = Dict0[i]
                data1 = data1
                print("_______________________")
                print(data1)
                print(data2)
              
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值