交通-城市规划专业常用——10分钟步行圈(百度API)

// 前台
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<title>步行路线规划</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=???(your key)"></script>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<style type="text/css">
body, html,#container {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
</head>
<body>
<div id="container"></div>
<script type="text/javascript">
var lonlat= {{ lists | safe }};
for(var mn=0;mn<lonlat.length;mn++)
{
var lon = parseFloat(lonlat[mn][0]);
var lat = parseFloat(lonlat[mn][1]);
console.log(lon,lat);
var map = new BMap.Map("container"); 
map.centerAndZoom(new BMap.Point(lon, lat), 14); 
var walking = new BMap.WalkingRoute(map, { 
    renderOptions: { 
        // map: map, 
        // autoViewport: true 
    } //需不需要画图
});
var start = new BMap.Point(lon, lat);
var ex = 0,ey=0;
var step = 0.0006;
for(var i=-6;i<=6;i++)
{
	for(var j=-6;j<=6;j++)
	{
		ex = lon + (i*step);
		ey = lat + (j*step);
		var end = new BMap.Point(ex, ey);
		walking.search(start, end);
		walking.setSearchCompleteCallback(function(rs){
			if (walking.getStatus() == BMAP_STATUS_SUCCESS){
				var lens = rs.getNumPlans();
				var mintime = 9999999;
				var elon = rs.getEnd().point.lng;
				var elat = rs.getEnd().point.lat;
				for(var i=0; i<lens; i++)
				{
					var iplan = rs.getPlan(i);
					var iplantime = iplan.getDuration(false)/60;
					if(iplantime< mintime)
					{
						mintime = iplantime;
					}
				}
				console.log(mintime);
				$.ajax({
                	async: false,
                	type : "GET",
                	url : '/write/',
                	data: {
                    	elon:elon,
                    	elat:elat,
                    	etime:mintime,
                	},
                	complete: function(msg){},
                	success : function(data){}
 	            });
			}
		})
	}
}
}
</script>
</body>
</html>
# 后台
# Create your views here.
from django.shortcuts import render
from django.http import HttpResponse

def yq(request):
	import csv
	reader = open('./y/XQ20200208.csv','r')
	lists = []
	for text in reader:
		text = text.split(",")
		lon = text[4]
		lat = text[5]
		lists.append([lon,lat])
	return render(request, 'index.html', {"lists":lists} )

import csv
def write(request):
    if request.GET:
        A = request.GET['elon']
        B = request.GET['elat']
        C =request.GET['etime']
        dirr=[str(A)+","+str(B),C]
        out = open('../gj.csv','a', newline='')
        if float(C)<= float(10):
            csv_write = csv.writer(out, dialect='excel')
            csv_write.writerow(dirr)
        else:
            pass
        return HttpResponse("Success")
    else:
        return HttpResponse("Unsuccess")

猜你喜欢

转载自blog.csdn.net/qq_36336522/article/details/104225570
今日推荐