OpenLayers SelectFeature

Manually select a feature

HTML

<link rel="stylesheet" href="http://openlayers.org/dev/examples/style.css">
<script src="http://openlayers.org/dev/OpenLayers.js"></script>
<div id="map" class="smallmap"></div>
<input type="button" onClick="window.manualSelect()" value="Select Feature" />

JavaScript

var gridLayer = null;
var selectFeature = null;

// Not sure how to expose a global function in JSFiddle so defining on window
window.manualSelect = function () {
    selectFeature.select(gridLayer.features[0]);
    selectFeature.clickFeature(gridLayer.features[2]);
};

var renderGrid = function () {

    var arrBoxExtents = JSON.parse("[[87.6,24.90827099648935,111.4,34.206434469466046],[87.6,15.610107523512648,111.4,24.90827099648935],[87.6,6.311944050535947,111.4,15.610107523512648],[63.8,34.206434469466046,87.6,43.50459794244275],[63.8,24.90827099648935,87.6,34.206434469466046],[63.8,15.610107523512648,87.6,24.90827099648935],[63.8,6.311944050535947,87.6,15.610107523512648]]");

    gridLayer = new window.OpenLayers.Layer.Vector("Grid");

    for (var i = 0; i < arrBoxExtents.length; i++) {

        var bounds = window.OpenLayers.Bounds.fromArray(arrBoxExtents[i]).transform(new window.OpenLayers.Projection("EPSG:4326"), window.map.getProjectionObject());

        var singleBoxVector = new window.OpenLayers.Feature.Vector(bounds.toGeometry());
        gridLayer.addFeatures(singleBoxVector);
    }

    window.map.addLayer(gridLayer);
};

var addSelectFeature = function () {
    selectFeature = new OpenLayers.Control.SelectFeature(gridLayer, {
        multiple: true,
        toggle: true
    });

    window.map.addControl(selectFeature);
    selectFeature.activate();
};

$(function () {
    window.map = new OpenLayers.Map('map');
    var apiKey = "AqTGBsziZHIJYYxgivLBf0hVdrAk9mWO5cQcb8Yux8sW5M8c8opEC2lZqKR1ZZXf";

    var bing = new OpenLayers.OSM({

    });
    window.map.addLayer(bing);

    renderGrid();
    addSelectFeature();
});