我创建了一个应用程序,该应用程序将在表中显示一些数据,该表中有一个按钮,用于使用modal_bootstrap在该行上显示数据的详细信息。 下图显示了表格视图,每行中都有模式按钮: 以下是modal_bootstrap视图的图片: 在modal_bootstrap上,我在选项卡中显示地图
问题是每次我关闭模态并尝试对其他数据打开模态时,modal_bootstrap上的传单地图仍显示先前的地图,该地图应根据打开的数据行调出地图坐标
这是我查看的代码
<script type="text/javascript">
var lat;
var lon;
var base_url = '<?php echo base_url();?>';
$(document).ready(function() {
$('#rj-table').DataTable({
"ajax": {
url : "<?php echo site_url("main/rj_page") ?>",
type : 'GET'
},
});
});
function view_detail(id){
//Ajax Load data from ajax
$.ajax({
url : "<?php echo site_url('main/ajax_view')?>/" + id,
type: "GET",
dataType: "JSON",
success: function(data){
$('#modal_form').modal('show'); // show bootstrap modal when complete loaded
show_tab();
lat = data.latitude;
lon = data.longitude;
$('#idrj').html(data.idrumahjaga);
$('#di').html(data.namaDI);
$('#jupeng').html(data.namaJP);
$('#nmrj').html(data.namarumahjaga);
//$('#petugas').html(lng);
$('#kec').html(data.kecamatan);
$('#des').html(data.desa);
$('#dus').html(data.dusun);
$('#thp').html(data.tahunpembuatan);
$('#thr').html(data.th_akhir_renov);
$('#photo-preview').show(); // show photo preview modal
if(data.photo){
$('#label-photo').text('Change Photo'); // label photo upload
$('#tes').html('<img src="'+base_url+'assets/img/'+data.photo+'" class="img-responsive">'); // show photo
}
else{
$('#label-photo').text('Upload Photo'); // label photo upload
$('#photo-preview div').text('(No photo)');
}
show_map(lat, lon);
},
error: function (jqXHR, textStatus, errorThrown){
alert('Error get data from ajax');
}
});
}
function show_map(lat, lon){
//---map------
var mymap = new L.map('mapid');
$('#myTab').on('shown.bs.tab', function (e){
mymap.invalidateSize();
});
mymap.setView([lat, lon], 13);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoicmlndW4iLCJhIjoiY2pydzY4ZjYxMDhwZzQ0bTFnbXdldGE2NyJ9.5GY9VdDlGJwr1FUWveAqpA', {
maxZoom: 18,
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' + '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
id: 'mapbox.streets'
}).addTo(mymap);
L.marker([lat, lon]).addTo(mymap);
var popup = L.popup();
function onMapClick(e) {
popup
.setLatLng(e.latlng)
.setContent("You clicked the map at " + e.latlng.toString())
.openOn(mymap);
}
mymap.on('click', onMapClick);
//---------script map--------
}
//---- tab on modal----
function show_tab(){
$('#myTab a').click(function (e) {
e.preventDefault();
$(this).tab('show');
});
$(function () {
$('#myTab a:first').tab('show');
});
}
//---- end tab on modal----
</script>