我创建了一个flask应用程序,以显示下拉列表中的某个文件中的服务ID和“查找办公室”按钮。
我必须获得的是,每当从下拉列表中选择值时,都应触发getoffices Web服务并从pandas数据框中获取相应的表并显示。根据这些数据,显示一个Google集群图,标记返回办公室的位置(表格中有经纬度)。地图应该是 居中并缩放到合适的水平以显示所有办公室。
我有以下html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Services</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<h1>Services from Offices</h1>
</head>
<body>
Service ID:
<select name= df_services method="GET" action="/">
{% for service in table%}
<option value= "{{ service }}" SELECTED>{{ service }}</option>"
{% endfor %}
</select><p><p><p>
<button type="submit" class="btn btn-success">Locate Offices</button>
</body>
</html>
和以下Web服务getservice的python代码,该代码传递一个服务ID列表以显示在下拉列表中
@app.route('/api/v1/resources/getservices', methods=['GET'])
def api_services():
return render_template('office_map.html',table=lst)
以下用于Web服务的python代码将接收一个整数作为服务ID,并将从pandas数据帧df中获取所有匹配的数据并传递给它...
@app.route('/api/v1/resources/getoffices', methods=['GET'])
def api_id():
# Check if an ID was provided as part of the URL.
# If ID is provided, assign it to a variable.
# If no ID is provided, display an error in the browser.
if 'ServiceID' in request.args:
result = df.loc[df.ServiceID==int(request.args['ServiceID'])]
else:
return "Error: No id field provided. Please specify an id."
return render_template('view.html',table=result.to_html())
从下拉列表中选择服务ID时,应触发getoffices网络服务。要绘制Google地图的示例数据是
ServiceID联系人名称郊区电话号码Lon Lon
1埃尔顿·麦肯齐·赫斯特维尔(+61)02 35563485 -33.975869 151.088939
2埃尔顿·麦肯齐·赫斯特维尔(+61)02 35563485 -33.975869 151.088939
1 Kennith Graves Sydney(+61)02 34533466 -33.867139 151.207114