Django - 使用geopy填充谷歌地图模板

时间:2017-07-05 05:01:36

标签: django google-maps geopy

我正在尝试使用geopy和Google API。我正在通过模型查询地址城市,状态地址详细信息将输入到地理定位器中,并为我提供lat / lng用于Google Maps api。我想要: a。)获得一组独特的lat / lng坐标 b。)拉入模板 c。)遍历列表并在地图上发布多个引脚。

以下是我目前的观点。不确定如何在上下文中获取循环以呈现到模板中。

def maps_multi(request):

address_list = CustomerOrder.objects.filter(city__icontains = 'CA').distinct() # pulls all unique addresses in California
address_list1 = address_list[0:2] # temporarily select first three addresses from list to test

geolocator = GoogleV3()


for x in address_list1:
    add_list = []
    add_city = x.city
    location = geolocator.geocode(add_city)
    add_list.append(location)
    print(add_list)

context = {}

return render(request, 'orderdisplay/maps_multi.html', context)

1 个答案:

答案 0 :(得分:0)

我刚刚经历了同样的事情并且还在学习更多知识。 一旦我有了我的列表,我就将它发送到模板并迭代它以在地图上显示点。在这种情况下,我通过了'商店':商店

return render(request, 'myapp/sometemplate.html', {'form': form, 'stores': stores})

然后在我的模板中迭代该列表。然后,您可以根据需要在地图上绘制这些点。

             {% for store in stores %}
                latlng = new google.maps.LatLng("{{ store.location.y }}", "{{ store.location.x }}");
                new google.maps.Marker({
                    position: latlng,
                    map: map,
                    title: "{{ store.address }}"
                });
            {% endfor %}