Python Kodları
import streamlit as st
import folium
from streamlit_folium import folium_static
import pandas as pd
# Excel dosyasını oku
excel_path = "/Users/zeki/Desktop/agizharitasi.xlsx"
df = pd.read_excel(excel_path, sheet_name="Sayfa1")
df_cleaned = df.dropna(how="all")
# Kelimeleri içeren sözlük
excel_keywords = {}
for col in df_cleaned.columns:
words = df_cleaned[col].dropna().tolist()
words = [str(word).strip() for word in words]
excel_keywords[col] = words
# İllerin koordinatları
coords = {
"Adana": [37.0, 35.3213],
"Adıyaman": [37.7648, 38.2786],
"Afyonkarahisar": [38.7546, 30.5567],
"Ağrı": [39.7191, 43.0503]
"Amasya": [40.6499, 35.8353],
"Ankara": [39.9208, 32.8541],
"Antalya": [36.8841, 30.7056],
"Artvin": [41.1828, 41.8196],
"Aydın": [37.8560, 27.8416],
"Balıkesir": [39.6484, 27.8826],
"Bilecik": [40.1500, 29.9833],
"Bingöl": [38.8852, 40.4983],
"Bitlis": [38.3938, 42.1232],
"Bolu": [40.7350, 31.6066],
"Burdur": [37.7203, 30.2908],
"Bursa": [40.1826, 29.0669],
"Çanakkale": [40.1553, 26.4142],
"Çankırı": [40.5986, 33.6134],
"Çorum": [40.5506, 34.9556],
"Denizli": [37.7765, 29.0864],
"Diyarbakır": [37.9144, 40.2306],
"Edirne": [41.6771, 26.5557],
"Elazığ": [38.6743, 39.2232],
"Erzincan": [39.7500, 39.5000],
"Erzurum": [39.9053, 41.2658],
"Eskişehir": [39.7767, 30.5206],
"Gaziantep": [37.0662, 37.3833],
"Giresun": [40.9175, 38.3926],
"Isparta": [37.7648, 30.5566],
"İstanbul": [41.0082, 28.9784],
"İzmir": [38.4192, 27.1287],
"Konya": [37.8713, 32.4846],
"Kars": [40.6070, 43.0940],
"Kastamonu": [41.3875, 33.7804],
"Kayseri": [38.7205, 35.4827],
"Kırıkkale": [39.8468, 33.5153],
"Kırklareli": [41.7350, 27.2250],
"Kırşehir": [39.1422, 34.1709],
"Kilis": [36.7175, 37.1153],
"Kocaeli": [40.9833, 29.8815],
"Kütahya": [39.4242, 29.9833],
"Malatya": [38.3552, 38.3095],
"Manisa": [38.6191, 27.4289],
"Kahramanmaraş": [37.5753, 36.9371],
"Mardin": [37.3182, 40.7376],
"Mersin": [36.8121, 34.6415],
"Muğla": [37.2141, 28.3635],
"Muş": [38.9522, 41.7350],
"Nevşehir": [38.6245, 34.7151],
"Niğde": [37.9667, 34.6833],
"Ordu": [40.9833, 37.8764],
"Osmaniye": [37.0744, 36.2498],
"Rize": [41.0246, 40.5237],
"Sakarya": [40.9507, 30.5614],
"Samsun": [41.2867, 36.33],
"Siirt": [37.9333, 41.95],
"Sinop": [42.0042, 35.0158],
"Sivas": [39.7477, 37.0179],
"Şanlıurfa": [37.1591, 38.7969],
"Şırnak": [37.5155, 42.4623],
"Tekirdağ": [40.9781, 27.5112],
"Tokat": [40.3164, 36.5545],
"Trabzon": [41.0053, 39.7264],
"Tunceli": [39.3078, 39.4388],
"Uşak": [38.6822, 29.4082],
"Van": [38.5012, 43.3720],
"Yalova": [40.6500, 29.2711],
"Yozgat": [39.8184, 34.8147],
"Zonguldak": [41.4550, 31.7807],
"Aksaray": [38.7361, 34.0347]
}
# Streamlit başlık
st.title("Türkiye Haritası - Arama Özelliği")
search_query = st.text_input("Aramak istediğiniz kelimeyi girin:")
# Harita oluştur
m = folium.Map(location=[39, 35], zoom_start=6)
for city, coord in coords.items():
excel_key = city if city != "Afyonkarahisar" else "Afyon"
words = excel_keywords.get(excel_key, [])
match = any(search_query.lower() in word.lower() for word in words) if search_query else False
color = 'red' if match else 'blue'
folium.Marker(
location=coord,
popup=folium.Popup(city, max_width=150),
icon=folium.Icon(color=color)
).add_to(m)
folium_static(m)