# 算與目標還有多少距離 並在地圖上顯示
###### tags: `自己玩`
```python=
import geocoder
import folium
import numpy as np
qq = input("想看你的位置與目標位置的距離請按 1,要看兩個位置距離請按 2:")
if str(qq ) == "1":
address = input("請輸入目標地址:")
g = geocoder.arcgis(address)#畫在地圖上
lal = g.latlng#換成經緯度
fmap=folium.Map(location= lal, zoom_start=20)
print("目標經緯度為:" , lal)
a = fmap.add_child(folium.Marker(location=lal,popup='<i>Mt. Hood Meadows</i>',icon=folium.Icon(color="green")))
i = geocoder.ipinfo('me')
k = i.latlng
b=fmap.add_child(folium.Marker(location=k,popup='<i>Mt. Hood Meadows</i>',icon=folium.Icon(color="red")))
d = 111.12*np.arccos(np.cos(lal[1])*np.cos(k[1])*np.cos(lal[0]-k[0])+np.sin(lal[1])*np.sin(k[1]))
print("你與目標的距離為:",d,"km")
if str(qq) =="2":
address = input("請輸入目標地址:")
start = input("請輸入起始地址:")
g = geocoder.arcgis(address)
lal = g.latlng
fmap=folium.Map(location= lal, zoom_start=20)
print("目標經緯度為:" , lal)
a = fmap.add_child(folium.Marker(location=lal,popup='<i>Mt. Hood Meadows</i>',icon=folium.Icon(color="green")))
i = geocoder.arcgis(start)
k = i.latlng
print("起始位置經緯度為:",k)
b=fmap.add_child(folium.Marker(location=k,popup='<i>Mt. Hood Meadows</i>',icon=folium.Icon(color="red")))
d = 111.12*np.arccos(np.cos(lal[1])*np.cos(k[1])*np.cos(lal[0]-k[0])+np.sin(lal[1])*np.sin(k[1]))
print("起始點與目標的距離為:",d,"km")
b
```
## 輸出結果
### 按1時
```
請輸入你的地址:新北市三重區富貴街14號
目標經緯度為: [25.090431932265613, 121.49021232467497]
你與目標的距離為: 21.93521219175773 km
```

### 按2時
```
想看你的位置與目標位置的距離請按 1,要看兩個位置距離請按 2:2
請輸入目標地址:新北市三重區富貴街14號
請輸入起始地址:新北市三重區富福街14號
目標經緯度為: [25.090431932265613, 121.49021232467497]
起始位置經緯度為: [25.083330019881643, 121.49010996403644]
起始點與目標的距離為: 0.4051142058296741 km
```
