相同的谷歌地图也在地图中修改后显示在两个选项卡中
Same Google map Displayed in two Tabs after modification in the map also
我的Jquery应用程序中有两个选项卡。在每个选项卡中,我都有谷歌地图。。。这些选项卡是通过单击侧边栏中的复选框动态创建的。。。例如,如果我点击第一个复选框,它将创建一个选项卡及其内容(谷歌地图)。。。如果我再次单击另一个复选框,它将创建另一个选项卡并创建其内容。。。
使用复选框创建选项卡时,会创建动态选项卡,并正确显示其谷歌地图。
这里我的问题是,当我点击选项卡(在选项卡之间导航)时,谷歌地图不会改变。。。实际上,我已经通过使用复选框创建了第一个选项卡和第二个选项卡。。。
如果我在Map中进行了一些更改后在选项卡之间切换。。。。然后切换到相同的选项卡意味着它将显示与Lat选项卡相同的Map…这里的问题是什么。。。
如何解决这个问题。。。。
//点击复选框时添加标签
function addTab(link,name) {
// If tab already exist in the list, return
if ($("#" + $(link).attr("value")).length != 0)
return;
// hide other tabs
$("#tabs li").removeClass("current");
$("#content div").hide();
// add new tab and related content
$("#tabs").append("<li class='current'><a class='tab' id='" +
$(link).attr("value") + "' href='#'>" + name +
"</a><a href='#' class='remove'>x</a></li>");
$("#content").append("<div id='" + $(link).attr("value") + "_content' style='width:100%; height:100%'></div>");
var mid = $(link).attr("value")+"_content";
tab1map(mid);
$("#" + $(link).attr("value") + "_content").show();
}
//选项卡单击可在选项卡之间导航。。。。
$('#tabs a.tab').live('click', function() {
var tabName= $(this).attr("id");
var contentname = tabName+ "_content";
// hide all other tabs
$("#content div").hide();
$("#tabs li").removeClass("current");
// show current tab
$("#" + contentname).show();tab1map(contentname);
$(this).parent().addClass("current");
});
//地图调用。。。。
function tab1map(mid) {
alert("Inside "+mid+" Map");
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(mid),
myOptions);
$(mid).css("height","100%");
var marker = new google.maps.Marker({
position: latlng,
map: map,
title:"Hello World!"
});
}
我解决了这些问题。。。。只需更改地图画布的<div> tag to <p>
标记。。。然后调用以下行中的映射初始化函数。
$("#content").append("<p id='" + $(link).attr("value") + "_content' style='width:100%; height:100%'></p>");
var mid = $(link).attr("value")+"_content";
tab1map(mid);//Map initialization
看到代码会很有帮助,尽管我想说,听起来可能两个地图都使用了相同的元素id,这让任何将它们分开的尝试都很沮丧。
相关文章:
- 我可以在Dynamics CRM 2016的复合地址字段中添加两个选项字段吗
- 在两个多选字段之间移动选项
- 在两个浏览器选项卡之间共享变量范围
- 仅在使用javascript和html的浏览器中在相同的两个选项卡之间切换
- 一个文本框,其中两个选项的值不同
- 如何使用jquery将两个字段组合为下拉菜单中的选项
- 两个不同部分的选项卡索引
- 如何减去选项两个相关的选择 HTML
- 高图表:设置两个不同系列图表的选项
- 两个选项卡—第一个选项卡在第二个选项卡中处于调试模式时被卡住
- 创建选项卡,每个选项卡有两个文本区域
- 从jquery中的select选项添加两个不同的数组值(text&value)
- 若在两个不同的选项卡中打开同一个页面,如何防止javascript运行两次
- 我有下面垂直菜单的jquery代码,当我悬停在apparels选项卡上时,我有两个选项卡作为apparels和化妆品
- 如何在HTML中用两个预定义的值绑定选择选项,以在mongodb中插入数据
- 我在angular JS中选择了一个默认选项,并删除了两个单词之间的下划线
- 如何在两个不同的选项卡(jQuery数据表)上同步处理可排序表
- 防止具有相同选项的两个复选框上的重复选项
- CRM 2011+问题与javascript中的两个选项集
- jquery克隆与HTML下拉选项两个下拉选择相同的值一个警报应该选择不同的值