Bạn có thể sử dụng Latitude và Longitude.
Excel:
=IF(SIN(Lat1) * SIN(Lat2) + COS(Lat1) * COS(Lat2) * COS(Long1 - Long2) > 1,
RadiusofEarth * ACOS(1), RadiusofEarth *
ACOS(SIN(Lat1) * SIN(Lat2) + COS(Lat1) * COS(Lat2) * COS(Long1-Long2)))
VB.net nhập khẩu System.Math
Private Function Distance(ByVal lat1 As Double, ByVal lon1 As Double, ByVal lat2 As Double, ByVal lon2 As Double, ByVal unit As String) As Double
Dim theta As Double = lon1 - lon2
Dim dist = System.Math.Sin(deg2rad(lat1)) * System.Math.Sin(deg2rad(lat2)) + System.Math.Cos(deg2rad(lat1)) * System.Math.Cos(deg2rad(lat2)) * System.Math.Cos(deg2rad(theta))
dist = System.Math.Acos(dist)
dist = rad2deg(dist)
dist = dist * 60 * 1.1515
Select Case unit
Case "K"
dist = dist * 1.609344
Case "N"
dist = dist * 0.8684
End Select
Return dist
End Function
Liên kết hữu ích khác (một đầu tiên cũng đề cập đến giải pháp thay thế VBA)
ExcelLatLong (Cũng đề cập đến giải pháp thay thế VBA)
Zips by Lat Long Lookup
VBA discussion
EDIT: Link bổ sung do bình luận thảo luận
More Info(Excel Formula)
bạn đã xem xét bản đồ google api? –
@Amir Raminfar -Khi cuối cùng tôi nhìn vào bản đồ Google api, giới hạn là bất kỳ thông tin nào được truy xuất phải được hiển thị trên bản đồ để đáp ứng các yêu cầu về liscence. Tôi không muốn hiển thị trên bản đồ. – MAW74656