0
我是网络开发新手,使用传单和代码时遇到问题。问题是我不能创建标记。下面是代码:传单无法创建标记
<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: '© <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
]
然而,当我硬编码的纬度和经度的值,该标记示出了。敬请赐教单张大师
'$ .getJSON'代码部分不属于'L.tileLayer'选项参数。但这可能不是导致您的标记不显示的问题。你在js控制台中收到任何错误消息吗? – tyr
@tyr谢谢你的关心,我弄清楚这个问题是我自己的愚蠢:(。 –