Я делаю как вы говорите, но карта почему то исчезает... Когда ей дать фисированую ширину и высоту.. Она появляеться. Но когда дать в процентах она не работает, исчезает...Что это может быть, подключение API? или что то другое?
Дело действительно не в API. Это особенность верстки в браузере. По умолчанию элементы растягивают по высоте контента и не имеют определенной высоты. При установке процентного значения высоты элемента нужно убедиться, что какой-нибудь из его родителей имеет высоту. В примере http://jsfiddle.net/R5ZEa/5/ html и body растягиваются на 100% высоты экрана.
Это плохое решение. Если в этом месте поменять высоту, то API все равно будет считать, что контейнер карты нулевой по высоте. А это в свою очередь повлияет на отображение тайлов, расчет видимой области и на много чего еще.
Какую вы решаете задачу? Можете скинуть пример или ссылку на результат ? Вы хотите отобразить элемент по всей высоте какого-то другого, но тот не имеет размера?
Если нужно отобразить карту в какой-то сложной верстке, то нужно элементу map определенный размер задать.
Если вы хотите отобразить карту из скрытого контейнера (к примеру, map изначально с display: none), то после удаления display нужно просто вызвать map.container.fitToViewport().
После нажатия F12 открывает средство разработчика и вместе с этим происходит resize окна. И карта подстраивается под уже под существующий размер. Как я говорил, раньше так делать нельзя. Размер карты должен сам устанавливаться в зависимости от размера контейнера карты (в данном случае элемент #map). У вас стоит heigth=100% на html, body, а на всех остальных промежуточных элементах (.wrapper (min-height!=height), .content, .item-page, .moduletable ...) нет.
Вам нужно или всем родительским элемента #map установить какую-нибудь высоту (не min-max), или установить 800px жестко для #map, или как-то программно после построения страницы рассчитывать размер контейнера, устанавливать высоту элементу #map и вызывать map.container.fitToViewport()