我有一个使用gmap3插件的地图脚本,并在点击标记时整理出如何实现模态。一切正常,除了当我点击一个新标记时,我的脚本正在加载点击之前标记的字符串。我在脚本中放置了.removeData,但它似乎没有工作。
这是脚本:
<script>
$('#map_canvas').gmap3({
map:{
options:{
streetViewControl: false,
mapTypeId: google.maps.MapTypeId.TERRAIN,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
}
},
marker:{
values:[
<!-- TMPL_LOOP Listings -->
<!-- TMPL_IF have_geocode -->
{latLng:[<!-- TMPL_VAR latitude -->, <!-- TMPL_VAR longitude -->],data:'<div class="modal-body"></div><div class="modal-footer"><a href="/property/detail/<!-- TMPL_VAR listing_id -->" class="btn btn-small btn-primary" target="_self">View Details</a></div>',options:{icon: "/static/images/mapmarker.png"}},
<!-- TMPL_ELSE -->
{address:"<!-- TMPL_VAR street_no --> <!-- TMPL_VAR street -->, <!-- TMPL_VAR city -->, <!-- TMPL_VAR state --> <!-- TMPL_VAR zip -->",data:'<div class="modal-body"></div><div class="modal-footer"><a href="/property/detail/<!-- TMPL_VAR listing_id -->" class="btn btn-small btn-primary" target="_self">View Details</a></div>',options:{icon: "/static/images/mapmarker.png"}},
<!-- /TMPL_IF -->
<!-- /TMPL_LOOP -->
],
options:{
draggable: false
},
events:{
click: function(marker, event, context){
$('#mapModal').on('hidden', function() {
$(this).removeData('modal');
});
$('#mapModal').append('<div class="modal-body"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>'+(context.data)+'</div>');
$('#mapModal').modal('show')
$(this).gmap3('get').panTo(marker.getPosition());
},
},
},
autofit:{},
});
和模态容器:
<div id="mapModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="mapModalLabel" aria-hidden="true"></div>
答案 0 :(得分:0)
解决:
$('#mapModal').empty();