Я создал приложение фляги для отображения идентификаторов услуг из какого-либо файла в раскрывающемся списке и кнопки «Найти офисы».
Что мне нужно получить, так это то, что всякий раз, когда выбирается значение из выпадающего списка, веб-служба getoffices должна запускаться и получать соответствующую таблицу из кадра данных 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>
и код Python для веб-службы getservice, как показано ниже, который проходитсписок сервисов для отображения в раскрывающемся списке
@app.route('/api/v1/resources/getservices', methods=['GET'])
def api_services():
return render_template('office_map.html',table=lst)
следующий код Python для веб-сервиса получит целое число в качестве идентификатора сервиса и получит все данные, которые совпадают с pandas dataframe 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())
веб-служба getoffices должна запускаться, когда в раскрывающемся списке выбран идентификатор службы ... пример данных для построения карты Google:
ServiceID Имя контакта Номер телефона в пригородеЛат Лон
1 Элтон Маккензи Херствилль (+61) 02 35563485 -33.975869 151.088939
2 Элтон Маккензи Херствилл (+61) 02 35563485 -33.975869 151.088939
Кен 1(+61) 02 34533466 -33.867139 151.207114