Ok, I must preface this by stating that I know so so little about c++ and am hoping someone can just help me out...
I have the below code:
string GoogleMapControl::CreatePolyLine(RideItem *ride)
{
    std::vector<RideFilePoint> intervalPoints;
    ostringstream oss;
    int cp;
    int intervalTime = 30;  // 30 seconds
    int zone =ride->zoneRange();
    if(zone >= 0)
    {
        cp = 300;  // default cp to 300 watts
    }
    else
    {
        cp = ride->zones->getCP(zone);
    }
    foreach(RideFilePoint* rfp, ride->ride()->dataPoints())
    {
        intervalPoints.push_back(*rfp);
        if((intervalPoints.back().secs - intervalPoints.front().secs) > intervalTime)
        {
            // find the avg power and color code it and create a polyline...
            AvgPower avgPower = for_each(intervalPoints.begin(),
                                         intervalPoints.end(),
                                         AvgPower());
            // find the color
            QColor color = GetColor(cp,avgPower);
            // create the polyline
            CreateSubPolyLine(intervalPoints,oss,color);
            intervalPoints.clear();
            intervalPoints.push_back(*rfp);
        }
    }
    return oss.str();
}
void GoogleMapControl::CreateSubPolyLine(const std::vector<RideFilePoint> &points,
                                         std::ostringstream &oss,
                                         QColor color)
{
    oss.precision(6);
    QString colorstr = color.name();
    oss.setf(ios::fixed,ios::floatfield);
    oss << "var  polyline  = new GPolyline([";
    BOOST_FOREACH(RideFilePoint rfp, points)
    {
        if (ceil(rfp.lat) != 180 && ceil(rfp.lon) != 180)
        {
            oss << "new GLatLng(" << rfp.lat << "," << rfp.lon << ")," << endl;
        }
    }
    oss << "],\"" << colorstr.toStdString() << "\",4);";
    oss << "GEvent.addListener(polyline, 'mouseover', function() {" << endl
    << "var tooltip_text = 'Avg watts:" << avgPower <<" <br> Avg Speed: <br> Color: "<< colorstr.toStdString() <<"';" << endl
    << "var ss={'weight':8};" << endl
    << "this.setStrokeStyle(ss);" << endl       
    << "this.overlay = new MapTooltip(this,tooltip_text);" << endl
    << "map.addOverlay(this.overlay);" << endl
        << "});" << endl
    << "GEvent.addListener(polyline, 'mouseout', function() {" << endl
    << "map.removeOverlay(this.overlay);" << endl
    << "var ss={'weight':5};" << endl
    << "this.setStrokeStyle(ss);" << endl
    << "});" << endl;
    oss << "map.addOverlay (polyline);" << endl;
}
And I'm trying to get the avgPower from this part: 
AvgPower avgPower = for_each(intervalPoints.begin(),
                                             intervalPoints.end(),
                                             AvgPower());
the first part to cary over to the second part:  
<< "var tooltip_text = 'Avg watts:" << avgPower <<" <br> Avg Speed: <br> Color: "<< colorstr.toStdString() <<"';" << endl
But of course I haven't the slightest clue how to do it... anyone feeling generous today?
Thanks in advance