Python Django easy-maps не отображает Google Maps - PullRequest
1 голос
/ 27 января 2012

Я тестирую этот шаблон, используя easy-maps для django, но он не отображает карту, я также не получаю ошибок в браузере ...

{% load easy_maps_tags %}
<html>
    <head>
    </head>
    <body>
        <h3>Geo IP</h3>
        {% easy_map "Russia, Ekaterinburg, Mira 32" 300 400 %}
    </body>
</html>

Я установил easy-maps, используя

pip install easy-maps

и включил его на settings.py и синхронизировал базу данных?

Любые идеи, где я должен проверить?

UPDATE

теперь я использовал элемент проверки Google chromes и, похоже, в коде Javascript есть ошибка, поэтому javascript не отображал страницу ....

 <!-- Map creation script -->
    <script type="text/javascript">
        function initialize_map_1() {
            var latlng = new google.maps.LatLng(, );
**/geolocate/:42 Uncaught SyntaxError: Unexpected token ,**
            var mapElem = document.getElementById("map-canvas-1");


            var mapOptions = {
                zoom: 16,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };

Я все еще изучаю, как это можно исправить ...

ИСПРАВЛЕНО:

похоже, что шаблон по умолчанию содержит ошибки, но когда я использовал шаблон map.html, который поставляется вместе с easy-maps, он работал ..

<html>
    <head>
    </head>
    <body>
        <h3>Geo IP</h3>
        <p>Google Map Location: </p>
        {% load easy_maps_tags %}
        {% easy_map "Russia, Ekaterinburg, Mira 32"  300 400 using "easy_maps/map.html" %}
    </body>
</html>

Другой вопрос: я передаю переменную из приложения представлений в этот шаблон, например. {{city}}

как мне заставить это работать

{% easy_map "{{ city }}"  300 400 using "easy_maps/map.html" %}

я тоже пробовал

{% easy_map {{ city }}  300 400 using "easy_maps/map.html" %}

и это не работает ...

Любые идеи, как я могу передать {{city}} тегу easy_map ...

ВСЕ СДЕЛАНО:

переменная контекста может быть передана в тэг блока без использования '{{}}', включающего в себя ..

   {% easy_map city  300 400 using "easy_maps/map.html" %}

Ответы [ 2 ]

0 голосов
/ 19 мая 2014

Я вижу, вы решили вашу проблему,

У меня была такая же проблема: var latlng = new google.maps.LatLng (,); / geolocate /: 42 Uncaught SyntaxError: Неожиданный токен, в этой строке, и никакая карта не будет отображена в моем шаблоне.

Я решил эту проблему, сбросив базу данных (выполнив команду syncdb).

0 голосов
/ 18 мая 2012

У меня такая же проблема. Покопавшись в коде, я обнаружил, что при вычислении lat и long

from geopy import geocoders

g=geocoders.Google()
g.geocode("Russia, Ekaterinburg, Mira 32") 

вызывается и выдает ошибку ValueError:

ValueError: Didn't find exactly one placemark! (Found 2.)

Следовательно, он не может найти значения lat и long и синтаксическую ошибку js:

var latlng = new google.maps.LatLng(, );

Если вы дадите более конкретный или более общий адрес, он будет работать, и карта отобразит:

In [13]: g.geocode("Russia, Ekaterinburg")
Out[13]: (u'Yekaterinburg, Sverdlovsk Oblast, Russia', (56.8333333, 60.600000000000001))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...