Фиксированный div (fixed_div) остается наверху, чтобы отобразить в нем карту Google. Затем над ним остается большой div (big_div). У большого div есть внутри него много маленьких div с классом small_div. Каждый маленький div имеет id small_div_n, где n = 0,1,2,3.. последовательно. Большой div прокручивается под фиксированным div.
HTML:
<div class="fixed_div" >
</div><!-- end of class fixed_div -->
<div class="big_div">
    <div class="small_div" id="small_div_0">
    </div><!--end of class small_div -->
    <div class="small_div" id="small_div_1">
    </div><!--end of class small_div -->
    <div class="small_div" id="small_div_2">
    </div><!--end of class small_div -->
</div><!--end of class big_div -->
CSS
.fixed_div {
  position:fixed;
  height:100px;
}
.big_div {
  padding-top:100px;
}
.small_div {
  min-height:80px;
}
Малые divs имеют свойство переменной высоты.
Если я могу узнать, что новый small_div достиг нижней части фиксированного div, я могу найти соответствующий id для маленького div и понять, какая карта google должна отображаться в фиксированном div через вызов ajax.
Как понять, что новый small_div достиг нижней части фиксированного div?
  EDIT: большой div имеет свойство min-height.
