我希望通过Jquery从数据库中检索一些geojson点数据(即在地图中设置一些标记)。
function remm(id){
$.ajax({
type: "POST",
url:"geojson2.php",
data:{
u_id:id[0],
t_id:id[2]
},
success: function(geo,status){
myLayer.setGeoJSON([geo]);
console.log(geo);
}
});
}
在GeoJSON Lint中测试从geojson2.php检索到的点数据时,它的效果非常好。但是,在调用myLayer.setGeoJSON()函数时,它只会占用所有现有标记。 myLayer在javascript文件的开头实例化,如下所示:
L.mapbox.accessToken = 'key';
var map = L.mapbox.map('map', 'mapbox.streets').setView([40, 0], 1);
var myLayer = L.mapbox.featureLayer().addTo(map);
由于它从地图中删除了所有标记,因此似乎不是myLayer不可用于ajax中的回调函数。可能是什么问题,我错过了什么?
答案 0 :(得分:0)
.setGeoJSON
方法取代了GeoJSON - 它设置了GeoJSON,而不是添加单个功能。如果您想要添加新功能而不是替换现有内容,我建议您使用jQuery
为L.mapbox.featureLayer
加载的功能创建新图层,{{1}方法,并将其添加到地图。