Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
google maps使用python django跟踪位置并计算距离_Python_Django - Fatal编程技术网

google maps使用python django跟踪位置并计算距离

google maps使用python django跟踪位置并计算距离,python,django,Python,Django,我想在我的项目中包括谷歌地图来计算当前位置和目的地之间的距离。我的项目是基于python django的项目,用于提供距离映射。您可以使用以下方法计算两个位置之间的距离 from math import sin, cos, sqrt, atan2, radians def distance_between_zipcodes(lat1, lat2, lng1, lng2): R = 6373.0 lat1 = radians(lat1) lon1 = radians(l

我想在我的项目中包括谷歌地图来计算当前位置和目的地之间的距离。我的项目是基于python django的项目,用于提供距离映射。

您可以使用以下方法计算两个位置之间的距离

from math import sin, cos, sqrt, atan2, radians

def distance_between_zipcodes(lat1, lat2, lng1, lng2):
    R = 6373.0

    lat1 = radians(lat1)
    lon1 = radians(lng1)
    lat2 = radians(lat2)
    lon2 = radians(lng2)

    dlon = lon2 - lon1
    dlat = lat2 - lat1
    a = (sin(dlat/2))**2 + cos(lat1) * cos(lat2) * (sin(dlon/2))**2
    c = 2 * atan2(sqrt(a), sqrt(1-a))
    distance = R * c

    # km to miles
    distance /= 1.609344

    return distance
lat1=当前位置的纬度

lon1=当前位置的经度

lat2=目的地位置纬度

lon3=目的地位置的经度

R=地球半径

安装geopy:

pip install geopy
要计算纬度和经度,请执行以下操作:

from geopy.geocoders import GoogleV3

def get_lat_lng(zip_code):
    geocoder = GoogleV3()
    location = geocoder.geocode(query=str(zip_code))

    if location:
        address, lat, lng = location.address, location.latitude, location.longitude

    return address, lat, lng

我建议查查詹戈