Ситуация следующяя:
В аккордионе при экспанде должна подгружаться карта гугла,
пробовал вызывать функцию при изменении, но так как имя функций всегда разная то обробатывалось не коректно.
В данном варианте все работает после второго клика по h3 первый клик отображает с height проблемой - тоесть карта не открывается полностью, со второго клика все нормально.
Подскажите пожалуйста решение.
<script>
$(function() {
$( "#accordion" ).accordion({
heightStyle: "content"
});
});
var map, ren, ser;
var data = {};
function setroute(os)
{
var wp = [];
for(var i=0;i<os.waypoints.length;i++)
wp[i] = {'location': new google.maps.LatLng(os.waypoints[i][0], os.waypoints[i][1]),'stopover':false }
ser.route({'origin':new google.maps.LatLng(os.start.lat,os.start.lng),
'destination':new google.maps.LatLng(os.end.lat,os.end.lng),
'waypoints': wp,
'travelMode': google.maps.DirectionsTravelMode.DRIVING},function(res,sts) {
if(sts=='OK')ren.setDirections(res);
})
}
</script>
дальше циклично - данные в скрипт подгружаются из базы-это не важно:
<h3 onClick="submission_{global:submissionid}()">Section 1</h3>
<div>
<div id="mappy_{global:submissionid}" style="width:900px; height:550px;"></div>
<script>
function submission_{global:submissionid}()
{
map = new google.maps.Map( document.getElementById('mappy_{global:submissionid}'), {'zoom':12, 'mapTypeId': google.maps.MapTypeId.ROADMAP, 'center': new google.maps.LatLng({Start Latitude:value}, {Finish Longitude:value}) })
ren = new google.maps.DirectionsRenderer( {'draggable':true} );
ren.setMap(map);
ser = new google.maps.DirectionsService();
setroute(eval('({WayMapValue:value})'))
}
</script>
</div>