I've had to do this on a Drupal 6 site. The problem is that the settings for the view are output in the header as inline javascript, so you can't just load the div containing the view and expect it to work.
What I had to do was use an ajax call to get the page that has the OL view, grab the div from that containing the view html, then grab the inline js from the header of the page, and run that javascript, then run the OL javascript function that initialises the view.
In short it is a massive PIA.
There are some examples of this working on the individual community pages here
http://www.villagesos.org.uk/communities
..though for the life of me I can't remember which one.
Here's the js snippet that does this anyway, you should be able to work out what's going on, but like I say, it's not a great solution and prob worth looking at something other than the OpenLayers module imo.
// Load content from a remote url into ajax target
/*
Drupal.behaviors.vsosStateLoader.loadUrl = function(State, target) {
$.ajax({
type:State.data.type,
url:State.data.url,
data:State.data.data,
success:function vsosAjaxLoaded(response) {
// Load the individual elements and Drupal classes into our ajax target region
var content = $('#main-content > *', response).not('h1, .local-tasks');
target.find('> .content').html(content);
// Load any Drupal settings - to set map data
var settings = $(response).filter('script').not('[src]');
settings.each(function() {
//check we have a value
if($(this).html()){
var setting = $(this).html();
//parse out html comments as this breaks in IE
setting = setting.replace("<!--","");
setting = setting.replace("-->","");
eval(setting);
}
});
// Load behaviours onto new content
Drupal.attachBehaviors();
}
});
};*/