2015-09-06 3 views
0

Я новичок в веб-разработке, у меня проблема при использовании листовки и codeigniter. Проблема в том, что я не могу создать маркер. Вот код:листовка не может создать маркер

  <html> 
    <head> 
     <link rel="stylesheet" href="<?php echo base_url();?>dist/css/leaflet.css" /> 
     <link rel="stylesheet" href="<?php echo base_url();?>dist/css/main.css"/> 
    </head> 
    <body> 
     <div id="map"></div> 

    </body> </html> 



<script src="<?php echo base_url();?>dist/js/leaflet.js"></script> <script src="<?php echo base_url();?>dist/js/jquery-1.11.0.js"></script> 

<script> 
    var map = L.map('map').setView([51.505, -0.09], 13); 
    function createMarker(lat,long){ 


     var marker = L.marker([lat,long]).addTo(map); 
    } 



    $(function(){ 

     L.tileLayer('http://{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.png', {   attribution: '&copy; <a href="http://osm.org/copyright" title="OpenStreetMap" target="_blank">OpenStreetMap</a> contributors | Tiles Courtesy of <a href="http://www.mapquest.com/" title="MapQuest" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png" width="16" height="16">',   subdomains: ['otile1','otile2','otile3','otile4']   }).addTo(map); 
     $.getJSON('index.php/map/getData',function(data){ 

      debugger; 
      for(i=0;i<3;i++) 
      { 
       var latitude = parseFloat(data[i].latitude); 
       var longitude = parseFloat(data[i].longitude); 
       createMarker(latitude,longitude);  
      } 

     }); 
    }); </script> 

здесь извлеченные данные внутри getjson:

> [ 
Object 
hasil_uji_id: 1 
latitude: 51.13 
longitude: -0.07 
nama_hasil_uji: "iqbal 3" 
__proto__: Object 
, 
Object 
hasil_uji_id: 123 
latitude: 51.05 
longitude: -0.09 
nama_hasil_uji: "iqbal" 
__proto__: Object 
, 
Object 
hasil_uji_id: 1234 
latitude: 51.09 
longitude: -0.08 
nama_hasil_uji: "iqbal 2" 
__proto__: Object 
] 

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

+0

Кодовая часть '$ .getJSON' не входит в параметр опций' L.tileLayer'. Но это, вероятно, не проблема, из-за которой ваши маркеры не появляются. Получаете ли вы сообщения об ошибках в консоли js? – tyr

+0

@tyr спасибо за вашу заботу, я выяснил, что проблема - это моя собственная глупость :(. –

ответ

0

Моя ошибка, действительно глупость, стыдно за меня. Код действительно работал, маркеры не показывают, потому что широта и долгота слишком далеки от setView

Когда я уменьшаю масштаб, они отображались.

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