Насколько я могу судить, чтобы получить эту функциональность, вам нужно расширить классы своими собственными.
Сначала создайте расширение для OpenLayers.Feature.Vector, назовите его YourApp.Feature.MultiVector. Вы можете увидеть примеры того, как расширить классы, взглянув на код OpenLayers. Этот класс должен принимать массив стилей и мультиполигон. Он должен иметь метод, который будет возвращать список OpenLayers.Feature.Vectors, каждый из которых имеет свой собственный стиль.
Во-вторых, создайте расширение для OpenLayers.Layer.Vector, назовите его YourApp.Layer.VectorSupportingMultiStyledFeatures. Вам нужно будет переопределить метод «drawFeature». В тесте метода drawFeature, чтобы увидеть, является ли тип объекта MultiVector. Если это так, прокрутите каждую функцию в MultiVector и вызовите renderer.drawFeature (функцию). В противном случае вызовите метод super.drawFeature.
Итак, ваш код для вызова будет выглядеть так:
var multiPol = new YourApp.Feature.MultiVector(
new OpenLayers.Geometry.MultiPolygon([polygonGeometry1,polygonGeometry2]),
[style1,style2,style3,style4]);
var layer = new YourApp.Layer.VectorSupportingMultiStyledFeatures("polygonLayer");
layer.addFeatures([multiPol]);