2015-04-30 2 views
1

Мой код не показывает маркеры все время на карте листовки. Мой код ниже. И ниже код - это «источник просмотра», который я получаю. Как вы видите, маркеры создаются с местоположениями в моем коде, но просто не отображаются на карте. Есть идеи?marklet.js маркеры не отображаются

мой сайт здесь, и если вы посмотрите на источник, вы увидите, что мы пытаемся сделать маркеры. https://pursuer.herokuapp.com/maps/

{% load leaflet_tags %} 

<head> 

    {% leaflet_js %} 
    {% leaflet_css %} 

    <style> 

    .leaflet-container { /* all maps */ 
     width: 600px; 
     height: 400px; 
    } 

    #yourmap { 
     width: 1600px; 
     height: 700px; 
    } 
    #sidebar{ 
     float: right; 
     } 

</style> 

</head> 

<body> 
<div id="sidebar"> 
     {% block sidebar %} 
     <ul> 
      <li><a href="/">Home</a></li> 
      <li><a href="/register">Register</a></li> 
      <li><a href="/accounts/login/">Login</a></li> 
      <li><a href="/setup/">Setup Your Device</a></li> 
     </ul> 
     {% endblock %} 
    </div> 
{% if user.is_authenticated %} 
    <p>Welcome, {{ user.username }}. Thanks for logging in.</p> 
{% else %} 
    <p>Welcome, new user. Please log in.</p> 
{% endif %} 
{% if latest_device_list %} 

<script type="text/javascript"> 
var userArray = new Array(); 
    function map_init_basic (yourmap, options) { 
    var marker = null; 

    // map.setView([26.2406685,-80.1665045], 12); 
//map.locate({setView:true, maxZoom: 8}); 
    {% for device in latest_device_list %} 


      var popupText = null; 
      {% if user_imei.User_Alias %} 
       popupText='{{user_imei.User_Alias}}'; 

      {% else %} 

       popupText = {{device.Device_IMEI}}; 
      {% endif %} 
       marker = new L.marker([{{device.Device_Lat}}, {{device.Device_Lon}}]) 
       .bindPopup("<h3>"+popupText+"</h3>") 
       .addTo(yourmap); 
       user = {{device.Device_IMEI}}; 
       userArray[user] = marker; 


    {% endfor %} 
    } 
    function update_position() 
    { 

    {% for device in latest_device_list %} 

     var popupText = null; 


       popupText = {{device.Device_IMEI}}; 

     userArray[{{device.Device_IMEI}}].setLatLng(new L.LatLng([{{device.Device_Lat}}, {{device.Device_Lon}}])) 
     .bindPopup("<h3>"+popupText+</h3>") 
     .update(); 

    {% endfor %} 
     // pan to last device location 
    yourmap.panTo(new L.LatLng(marker.getLatLng()),yourmap.getZoom()); 
    window.setTimeout(update_position,50); 
    } 
    update_position(); 
    </script> 

    {% else %} 
    <p>No Devices are available.</p> 
    {% endif %} 
    {% leaflet_map "yourmap" callback="window.map_init_basic" %} 

</body> 

ответ

0

Вам не хватает " после popupText+ для закрытия тега H3 во втором переплете всплывающих окон. См. "<h3>"+popupText+</h3>"

+0

Спасибо, что это проблема! – user3470096

0

enter image description here

Проблема в том, что ваши места будут выводиться в виде вопросительных знаков, а не чисел. Вы можете найти эту проблему, просто просмотрев исходный код страницы или используя debug extensions.

Проблема находится на уровне сервера, а не в листе.

+0

Это всего 2 места, остальное в порядке. – user3470096

Смежные вопросы