提交 1560194e 编写于 作者: E e7300

Tue Jan 23 16:25:00 CST 2024 inscode

上级 0520122c
import streamlit as st
from streamlit_option_menu import option_menu
import requests
from streamlit_folium import folium_static
import folium
# 设置Streamlit应用程序的标题
st.set_page_config(page_title="app name", layout="wide")
API_KEY = "your_api_key" # 输入你的API KEY
menu1="菜单1"
menu2="菜单2"
st.title("地图显示")
with st.sidebar:
menu = option_menu("菜单", [menu1, menu2],
icons=['house', "list-task"],
menu_icon="cast", default_index=0)
# 初始化地图
m = folium.Map(location=[31.23, 121.47], zoom_start=12)
def main():
# 搜索地址
address = st.text_input('请输入地址')
if menu == menu1:
st.subheader(f"{menu1}")
if address:
params = {
"address": address,
"key": API_KEY
}
if menu == menu2:
st.subheader(f"{menu2}")
response = requests.get("https://restapi.amap.com/v3/geocode/geo", params=params)
geo = response.json()
if geo["status"] == "1":
geo_location = geo["geocodes"][0]["location"].split(",")
location = [float(geo_location[1]), float(geo_location[0])]
folium.Marker(location, tooltip=address).add_to(m)
m.location = location
elif geo["status"] == "0":
st.warning("未找到该地址,请重新输入!")
else:
st.warning("地理编码API请求失败,请检查API KEY是否正确!")
if __name__ == '__main__':
main()
# 显示地图
folium_static(m)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册