-1

我正在尝试将带有标记的谷歌地图添加到我的表单中,以帮助用户选择位置,但它在某个地方出错了。

输入表格时出错

如您所见,地图在其区域内未正确显示。我已经在地图中放置了一个标记并在那里设置了中心,但是该标记的位置不正确,它隐藏在初始地图之外(在上面地图的右上角,而不是中心)。

当我按 F12 按钮启用 Firebug(在 firefox 中)时,地图正确显示 启用萤火虫时地图正确显示

这是创建表单和添加谷歌地图的代码:

index.html 文件中的表单:

<div id="map_company" style="float: left; width: 500px;height: 350px;">
 <label style="margin-bottom: 5px;">Chọn vị trí hãng xe trên bản đồ:</label>
 <div id="map_canvas" style="width: 100%; height: 100%; position: relative;"></div>
</div>

以及脚本文件中的 javascript:

//add map to company tab
//Set Center 
var myOptions = 
{
center: new google.maps.LatLng(21.044813, 105.79864),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoomControlOptions: {
    style: google.maps.ZoomControlStyle.SMALL
}
};
map = new google.maps.Map(document.getElementById("map_canvas"),
  myOptions);
var comMarker = new google.maps.Marker({
position: new google.maps.LatLng(21.044813, 105.79864),
    map: map,
draggable: true
});
google.maps.event.addListener(comMarker, 'dragend', function {
document.getElementById("cLat").value = this.getPosition().lat();
document.getElementById("cLon").value = this.getPosition().lng();
});

谁能帮我解决这里的问题,我什至不知道如何向谷歌解释。

4

2 回答 2

2

看来您使用标签。

如果是,则必须在选择带有地图的选项卡时触发地图的调整大小事件。

于 2013-01-21T13:52:01.450 回答
0

给你的 map_canvas 一个固定的大小(以像素为单位,而不是百分比)并删除 position = relative。如果您使用百分比,则父节点也必须具有大小,否则就没有意义(100% 的什么?)。

<div id="map_canvas" style="width: 400px; height: 300px;"></div>
于 2013-01-21T08:43:07.833 回答