Я использую API Карт Google (v3) на своем веб-сайте, чтобы показать карту с центром в определенной позиции.
Это мой код:
<script type="text/javascript">
$(document).ready(function() {
var latlng = new google.maps.LatLng(-22.924484, -43.208001);
var map = new google.maps.Map(document.getElementById("map-property2"), {
zoom: 13,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
});
</script>
В конце моего <head>
у меня есть:
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
Вот результат:
Как вы можете видеть, там две карты .. Но если я изменю размер окна, карта будет фиксированной !
Есть еще одна проблема: видите самый верхний левый угол карты? Это местоположение latlng
переменной .. Это должно быть центром карты, но оно загружается как верхний левый угол. : /
Ps .: На моей консоли Firebug JS нет ошибок или предупреждений.
Я нашел решение здесь: Основной глюк Google Maps с использованием API V3
И, проверяя его, я обнаружил еще одну вещь: я пытаюсь загрузить карту в скрытый div (не на холсте карты, а в контейнере, в котором он есть), который отображается при нажатии на меню вкладок.
Если карта загружается (используя setTimeout
), когда вкладка активна и контейнер видим, карта загружается нормально.
Я схожу с ума ... правда.