【发布时间】:2013-06-10 08:01:37
【问题描述】:
在 web 应用程序中,我正在使用 ajax 加载页面(带有地图的 googlemap.asp)。
我正在使用 jquery.load 在 div 中加载“googlemap.asp”,它只在左上角显示一个小地图,因此它没有像我在 div 中设置的那样获得 320 x 600 的大小. 当我以这种方式加载地图时,它无法正确渲染地图。
但是如果我直接在浏览器中加载“googlemap.asp”(没有ajax)那么它会正确显示,所以我想当我用ajax加载它时我必须以某种方式重新刷新它?
这就是我所拥有的:
<div id="map_canvas" style="height:600px; width:320px;" ></div>
window.onload=googleMaploadScript();
function googleMaploadScript() {
var script =document.createElement("script");
script.type="text/javascript";
script.src="http://maps.google.com/maps/api/js?sensor=false&callback=initialize";
document.body.appendChild(script);
}
var address1 = document.getElementById('address').value;
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var mapOptions = {
zoom: 15,
center: new google.maps.LatLng(57.109577,12.286513),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
codeAddress(address1);
}
function codeAddress(address) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
});
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
我想我以某种方式以错误的顺序加载它,这就是为什么它不能正确渲染,或者是不是 div 在开始时不可见?
感谢任何意见。
【问题讨论】:
标签: google-maps