在bootstrap3模式中以谷歌地图为中心发布..不断变化
issues w/ centering google map in bootstrap3 modal... keeps changing
嗨,感谢您的帮助。我有一个引导程序3页面,我把谷歌地图放在一个模态中。经过大量的调整和研究,阅读后,我能够以桌面和移动格式正确地显示地图(地图填充模态无灰色,响应时不脱离模态等)。最后一个问题是,现在我发现渲染后中心标记不在帧内居中。也就是说,有时在页面重新加载后,地图会正确显示,有时,大多数情况下不会。这适用于Chrome、Firefox、Mozilla和Opera测试浏览器。请花了好几个小时在这个帮助上。
这是代码:
HTML
<!-- Google Map In Modal -->
<!-- Button to trigger modal -->
<p><a href="#mapmodals" data-toggle="modal" role="button" data-target="#mapModal" class="btn btn-primary"><b>Map to Satori Spa</b></a></p>
<!-- MAPS -->
<div class="modal fade" id="mapModal" tabindex="-1" role="dialog" aria-labelledby="#mapModal" aria-hidden="true">
<div class="modal-dialog modal-lg"">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" style="color:#000;">Satori Spa Massage - Encino Ca.</h4>
</div>
<div class="modal-body">
<div id="map-container"></div>
</div>
<div class="modal-footer">
<button type="button" class="close" data-dismiss="modal">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
页面底部的JS
<!-- Google Map In Modal -->
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type='text/javascript'>
var var_map;
var var_location = new google.maps.LatLng(34.158540,-118.493270);
function map_init() {
var var_mapoptions = {
center: new google.maps.LatLng( 34.158540, -118.493270 ),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: true,
panControl:false,
rotateControl:false,
streetViewControl: true,
};
var_map = new google.maps.Map(document.getElementById("map-container"),
var_mapoptions);
var contentString =
'<div id="mapInfo">'+
'<p style=" font-size:12px; line-height:14px; color:#000;"><strong>Satori Spa Massage</strong><br>'+
'16545 Ventura Blvd Suite 27<br>' +
'Encino, California,<br>91436 USA<br>'+
'P: (818) 907-9967</p>'+
'<a href="http://www.satorispamassage.com" target="_blank">Plan your visit</a>'+
'</div>';
var var_infowindow = new google.maps.InfoWindow({
content: contentString
});
var var_marker = new google.maps.Marker({
position: var_location = new google.maps.LatLng(34.158540,-118.493270),
map: var_map,
title:"Click for information about the Satori Spa Massage in Encino",
maxWidth: 200,
maxHeight: 200
});
google.maps.event.addListener(var_marker, 'click', function() {
var_infowindow.open(var_map,var_marker);
});
}
google.maps.event.addDomListener(window, 'load', map_init);
//start of modal google map
$('#mapModal').on('shown.bs.modal', function () {
google.maps.event.trigger(var_map, "resize");
map.setCenter(new google.maps.LatLng(34.158540, -118.493270));
initialize();
});
</script>
直播页面在这里@satorismassage.com再次感谢,感谢您的帮助。
基本问题是调用map
的方法setCenter,但变量的名称是var_map
。
另一个问题:可能有人在创建映射之前打开模态,在访问变量之前测试它:
//start of modal google map
$('#mapModal').on('shown.bs.modal', function () {
//test if the map already has been created
if(var_map){
google.maps.event.trigger(var_map, "resize");
var_map.setCenter(new google.maps.LatLng(34.158540, -118.493270));
}
});
(也删除了对initialize
的调用,没有这样的函数)
相关文章:
- 以Jquery为中心的Div中的图像对齐
- 在bootstrap3模式中以谷歌地图为中心发布..不断变化
- 谷歌地图API v3:如何以2个动态地址为中心
- 以手机为中心的Bootstrap导航栏品牌
- 以谷歌地图为中心,使用标记调整响应大小
- 允许HTML5 web应用程序在浏览器关闭时访问位置'以t为中心(iOS)
- 当用户使用JavaScript键入内容时,如何设置以搜索输入为中心
- 用CSS居中内联块DIV“:在“;以垂直和水平为中心的废墟文本
- 用于以用户体验为中心的web应用程序回归测试的工具和技术
- 如何让我的Javascript只显示一个以鼠标为中心的聚光灯
- CFGMap 谷歌地图 API V3 始终以长/纬度为中心地图
- 你如何制作一个以具有特定标签的地址为中心的谷歌地图
- 以悬停工具提示样式的子导航为中心不起作用
- 以 jQuery 为中心的文本框在 Safari 中输入一个字符后失去焦点
- 如何在调整浏览器大小时将谷歌地图标记设置为中心
- Caroufredsel不以移动设备为中心
- 弹出窗口需要以屏幕为中心
- 如何对齐元素以调整大小为中心
- 当以translate为中心时,语气模糊的文本(-50%,-50%);
- D3折线图:将Y.domain值设置为以特定数字为中心