【发布时间】:2012-06-13 00:58:11
【问题描述】:
我在 Twitter Bootstrap 模式对话框中有一个 Google 地图自动完成输入字段,但未显示自动完成结果。但是,如果我按向下箭头键,它会选择下一个自动完成结果,所以似乎自动完成代码工作正常,只是结果没有正确显示。也许它隐藏在模态对话框后面?
截图如下:
在自动完成字段中输入内容没有任何效果
按向下箭头键给出第一个结果
还有代码:
<div class="modal hide fade" id="map_modal">
<div class="modal-body">
<button type="button" class="close" data-dismiss="modal">×</button>
<div class="control-group">
<label class="control-label" for="keyword">Cari alamat :</label>
<div class="controls">
<input type="text" class="span6" name="keyword" id="keyword">
</div>
</div>
<div id="map_canvas" style="width:530px; height:300px"></div>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
<a href="#" class="btn btn-primary">Save changes</a>
</div>
<script type="text/javascript">
$("#map_modal").modal({
show: false
}).on("shown", function()
{
var map_options = {
center: new google.maps.LatLng(-6.21, 106.84),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), map_options);
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-6, 106.6),
new google.maps.LatLng(-6.3, 107)
);
var input = document.getElementById("keyword");
var autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.bindTo("bounds", map);
var marker = new google.maps.Marker({map: map});
google.maps.event.addListener(autocomplete, "place_changed", function()
{
var place = autocomplete.getPlace();
if (place.geometry.viewport) {
map.fitBounds(place.geometry.viewport);
} else {
map.setCenter(place.geometry.location);
map.setZoom(15);
}
marker.setPosition(place.geometry.location);
});
google.maps.event.addListener(map, "click", function(event)
{
marker.setPosition(event.latLng);
});
});
</script>
我已经尽力自己解决这个问题,但是由于我不知道自动完成结果的 html&css(检查元素什么也没给出),所以我现在迷路了。有什么帮助吗?
之前谢谢!
【问题讨论】:
-
我取得了一些进展,但碰壁了。我将解释我发现的内容,以帮助其他人希望解决您的问题。我重新排列了文本框,看起来自动完成不仅在模式后面,而且也在灰色区域后面(查看这个演示)jsfiddle.net/Y4WgX/embedded/result更改 z-index 无效。我还了解到这些建议位于一个名为 pac-container 的 div 中,因此我将其颜色更改为绿色以进行演示。
标签: javascript html css google-maps-api-3 twitter-bootstrap