谷歌地图不呈现在模态弹出
以下是我的jQuery代码,我使用部分视图渲染谷歌地图上的模式弹出。谷歌地图不呈现在模态弹出
地图不呈现本身,它呈现如果我调整浏览器窗口的大小或当我检查我的浏览器(窗口调整大小相同的东西)。
此外,当它呈现不在中心根据纬度经度设置。
我想根据从隐藏字段设置的纬度经度动态呈现地图。目前我通过纬度= 30.704648600和经度= 76.717872600。
我不知道什么是失踪请帮助,TIA。
的jQuery: -
$(document).ready(function() { var currLoc;
if ($('#Latitude').val().length > 0 && $('#Longitude').val().length > 0)
initialize($('#Latitude').val(), $('#Longitude').val());
});
function initialize(Latitude, Longitude) {
var latlng = new google.maps.LatLng(Latitude, Longitude);
var map = new google.maps.Map(document.getElementById('map_'), {
center: latlng,
zoom: 13
});
var marker = new google.maps.Marker({
map: map,
position: latlng,
draggable: false,
//anchorPoint: new google.maps.Point(0, -29)
});
map.setCenter(new google.maps.LatLng(Latitude, Longitude));
var infowindow = new google.maps.InfoWindow();
currLoc= $('#lastLocation').text();
google.maps.event.addListener(marker, 'click', function() {
var iwContent = '<div id="iw_container">' +
'<div class="iw_title"><b>Last Location</b> : <span class="lastLoc">' + GetAddress(Latitude, Longitude) + '<span></div></div>';
infowindow.setContent(iwContent);
infowindow.open(map, marker);
});
}
function GetAddress(Latitude, Longitude) {
var LastLatLong = [];
LastLatLong.push([Latitude, Longitude]);
var latlngArray_ = LastLatLong[0];
var latlngset_ = new google.maps.LatLng(latlngArray_[0], latlngArray_[1]);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'latLng': latlngset_ }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
//currLoc= results[0].formatted_address;
if ($('.lastLoc').length > 0) {
debugger;
$('.lastLoc').text(results[0].formatted_address);
}
}
}
});
}
回答:
我得到了答案,也可以通过先触发地图的resize事件做了,那么使用它的setCenter属性。
我改变了我的初始化函数现在它的工作正常。
function initialize(Latitude, Longitude) { var latlng = new google.maps.LatLng(Latitude, Longitude);
var map = new google.maps.Map(document.getElementById('map_'), {
center: latlng,
zoom: 13
});
var marker = new google.maps.Marker({
map: map,
position: latlng,
draggable: false,
//anchorPoint: new google.maps.Point(0, -29)
});
map.setCenter(new google.maps.LatLng(Latitude, Longitude));
var infowindow = new google.maps.InfoWindow();
currLoc= $('#lastLocation').text();
google.maps.event.addListener(marker, 'click', function() {
var iwContent = '<div id="iw_container">' +
'<div class="iw_title"><b>Last Location</b> : <span class="lastLoc">' + GetAddress(Latitude, Longitude) + '<span></div></div>';
infowindow.setContent(iwContent);
infowindow.open(map, marker);
});
setTimeout(function() {
google.maps.event.trigger(map, "resize");
map.setCenter(new google.maps.LatLng(Latitude, Longitude));
}, 300);
}
以上是 谷歌地图不呈现在模态弹出 的全部内容, 来源链接: utcz.com/qa/262032.html