Я нашел простое решение для частично загруженной карты Google.Обычно это вызвано тем, что onLoad()
вызывается в тот момент, когда остальная часть страницы (включая элемент вашей карты) загружается не полностью.Это вызывает частичную загрузку карты.Простой способ обойти эту проблему - изменить действие onLoad
body tag.
Старый способ:
onload="initialize()"
Новый способ:
onLoad="setTimeout('initialize()', 2000);"
Этождет 2 секунды, прежде чем Google Javascript получит доступ к атрибутам правильного размера.Также убедитесь, что очистили кеш браузера перед тем, как попробовать;иногда это застревает там:)
Это моя лучшая часть Javascript на тот случай, если вам интересно (именно так, как описано в Документации Google, но потому что я вызываю Latitude
и Longitude
из переменных PHP, отсюда и PHPфрагменты.
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var myOptions = {
center: new google.maps.LatLng(<?php echo $my_latitude; ?> , <?php echo $my_longitude; ?>),
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var point = new google.maps.LatLng(<?php echo $my_latitude; ?> , <?php echo $my_longitude; ?>);
var marker = new google.maps.Marker({ position:point, map:map })
}
</script>