Javascript 最大化谷歌地图窗口后,自动完成不会';行不通
我试图在我的项目中使用谷歌地图和mvc。 当地图被最小化时,我可以在文本框中键入位置。 位置将自动显示。 但是,位置不会在最大化状态下自动显示 这是我的密码:Javascript 最大化谷歌地图窗口后,自动完成不会';行不通,javascript,asp.net-mvc,google-maps,Javascript,Asp.net Mvc,Google Maps,我试图在我的项目中使用谷歌地图和mvc。 当地图被最小化时,我可以在文本框中键入位置。 位置将自动显示。 但是,位置不会在最大化状态下自动显示 这是我的密码: function initialize() { var latlng = new google.maps.LatLng(Lat, Long); var map = new google.maps.Map(document.getElementById('map'), { center: latlng
function initialize() {
var latlng = new google.maps.LatLng(Lat, Long);
var map = new google.maps.Map(document.getElementById('map'), {
center: latlng,
zoom: 13
});
var marker = new google.maps.Marker({
map: map,
position: latlng,
draggable: true,
anchorPoint: new google.maps.Point(0, -29)
});
var input = document.getElementById('searchInput');
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
var geocoder = new google.maps.Geocoder();
var autocomplete = new google.maps.places.Autocomplete(input);
//Set initial restrict countries.
autocomplete.setComponentRestrictions(
{ 'country': ['mm'] });
autocomplete.bindTo('bounds', map);
var infowindow = new google.maps.InfoWindow();
autocomplete.addListener('place_changed', function () {
infowindow.close();
marker.setVisible(false);
var place = autocomplete.getPlace();
if (!place.geometry) {
window.alert("Autocomplete's returned place contains no geometry");
return;
}
if (place.geometry.viewport) {
map.fitBounds(place.geometry.viewport);
} else {
map.setCenter(place.geometry.location);
map.setZoom(17);
}
marker.setPosition(place.geometry.location);
marker.setVisible(true);
infowindow.setContent(place.formatted_address);
infowindow.open(map, marker);
});
// this function will work on marker move event into map
google.maps.event.addListener(marker, 'dragend', function () {
geocoder.geocode({ 'latLng': marker.getPosition() }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
infowindow.setContent(results[0].formatted_address);
infowindow.open(map, marker);
}
}
});
});
}
google.maps.event.addDomListener(window, 'load', initialize);
截图:
为地图上方的
.pac容器
设置一个z索引(警告未记录的行为,可能会随API的未来版本而更改)
代码片段:
函数初始化(){
var latlng=新的google.maps.latlng(21.958828,96.089103);
var map=new google.maps.map(document.getElementById('map'){
中心:拉特林,
缩放:13
});
var marker=new google.maps.marker({
地图:地图,
位置:latlng,
真的,
主播点:新google.maps.Point(0,-29)
});
var input=document.getElementById('searchInput');
map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
var geocoder=new google.maps.geocoder();
var autocomplete=new google.maps.places.autocomplete(输入);
//设置初始限制国家/地区。
autocomplete.setComponentRestrictions({
'国家':['mm']
});
autocomplete.bindTo('bounds',map);
var infowindow=new google.maps.infowindow();
autocomplete.addListener('place\u changed',function(){
infowindow.close();
marker.setVisible(假);
var place=autocomplete.getPlace();
如果(!place.geometry){
警告(“自动完成的返回位置不包含几何体”);
返回;
}
if(place.geometry.viewport){
map.fitBounds(place.geometry.viewport);
}否则{
地图。设置中心(地点。几何。位置);
map.setZoom(17);
}
标记器.设置位置(位置.几何.位置);
marker.setVisible(true);
infowindow.setContent(place.formatted\u地址);
信息窗口。打开(地图、标记);
});
//此函数用于将标记移动到地图中
google.maps.event.addListener(标记'dragend',function(){
地理编码({
“latLng”:marker.getPosition()
},功能(结果、状态){
if(status==google.maps.GeocoderStatus.OK){
如果(结果[0]){
infowindow.setContent(结果[0]。格式化的\u地址);
信息窗口。打开(地图、标记);
}
}
});
});
}
google.maps.event.addDomListener(窗口“加载”,初始化)代码>
html,
身体,
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px;
z指数:0;
}
#搜索输入{
顶部:15px;
左:120px;
}
.pac集装箱{
z指数:2147483648;
}
.pac-container {
z-index: 2147483648;
}