def get(self, request, *args, **kwargs):
# Validate request
form = CoordinatesFromAddressForm(request.GET)
if not form.is_valid():
return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)
address = form.cleaned_data['address']
# Return lat/lon for address
geolocator = Nominatim()
try:
location = geolocator.geocode(address)
except GeocoderTimedOut:
return Response(
"Geocoder service currently unavailable. Please try again later.",
status=status.HTTP_503_SERVICE_UNAVAILABLE
)
return Response({
'latitude': float("{0:.4f}".format(location.latitude)),
'longitude': float("{0:.4f}".format(location.longitude)),
})
评论列表
文章目录