Source: locationboxv2_layer.js

/**
 * Create a new ILayer instance. 
 * @class ILayer class
 * This class could be considered a concrete implementation class
 * @param {object} mapper IMapper object to use of multiple maps (optional).
 * @constructor
*/
function ILayer(mapper) {
}

/**
 * Create a layer
 *
 * @param {string} typ Type of the layer. Layer types are listed below: <br/>
 * ILayer.MAP_BOLGE <br/>
 * ILayer.MAP_IL <br/>
 * ILayer.MAP_ILCE <br/>
 * ILayer.MAP_MAHALLE <br/>
 * ILayer.USER_POINT <br/>
 * ILayer.USER_REGION <br/>
 * ILayer.USER_LINE <br/><br/>
 * @param {string} id Id of the layer.
 * @param {string} where Where clause. (@link http://www.locationbox.com.tr/web/demov2/layercoloring.jsp Layer Coloring)
 * @param {object} symc Column style object.
 * @param {object} sym Style object.
 * @param {boolean} visible Visibility of the layer.
 * @param {function} mouseClick The user defined function that is called when layer is clicked.
 * @param {object} lblc Label object.
 * @param {object} lsym Label object.
 * @param {array} hcols User data(line, region or point) supplied from parameter for mouseClick event. <br/> Usage: "var hcols = "STRING_1,STRING_2,NUMBER_1,NUMBER_2".split(",")"
 * @param {object} hoverStyle Style object. 
 * @param {object} textStyle Text style object (Default color: #ff0000, fontSize:50).
 * @param {object} selectStyle Layer select style object.
 * @param {object} setToolTip Setting layer tool tip. 
 * @example http://locationbox.blogspot.com.tr/2014/04/how-to-use-createlayer-method-using.html  
 * @see http://www.locationbox.com.tr/web/api_layer.jsp
*/
ILayer.prototype.createLayer=function(typ, id, where, symc, sym, visible, mouseClick, lblc, lsym, hcols, hoverStyle,  textStyle, selectStyle, setToolTip) {
  return;
} // createLayer()

/**
 * Set the predefined layer's rendering style.
 * @param {object} style The new rendering style.
 * @param {array} attributes The list of attribute names used to determine the actual rendering style.
 * It is effective only when renderingStyle is an advanced style.
 */ 
ILayer.prototype.setPreDefRenderingStyle = function (id, sym ) {
  return; 
} //setPreDefRenderingStyle()

/**
 *
 * Removes Defined User Point HeatMap Layer
 *
 */ 
ILayer.prototype.removeUserPointHeatMap = function(){
  
}//removeUserPointHeatMap()

/**
* Create a Dynamic Layer.
* 
* @param {string} typ Type of the layer.  
* ILayer.MAP_BOLGE <br/>
* ILayer.MAP_IL <br/>
* ILayer.MAP_ILCE <br/>
* ILayer.MAP_MAHALLE <br/>
* ILayer.USER_POINT <br/>
* ILayer.USER_REGION <br/>
* ILayer.USER_LINE <br/>
* @param {string} id Id of the layer.
* @param {string} where The where clause for data parameters.
* @param {object} symc Column style object.
* @param {object} sym Style object.
* @param {boolean} visible Visibility of the layer.
* @param {function} mouseClick The user defined function that is called when layer is clicked.
* @param {object} lblc Label object.
* @param {object} lsym Label object.
* @param {array} hcols User data(line., region or point) supplied from parameter for mouseClick event. (Usage: var hcols = "STRING_1,STRING_2,NUMBER_1,NUMBER_2".split(",");)
*/  
ILayer.prototype.createDynamicLayer=function(typ, id, where, symc, sym, visible, mouseClick, lblc, lsym, hcols) {
  return;
} // createDynamicLayer

/**
 * After create a Vector Layer can set rendering style(sym) spesific layer with given id dynamically.
 * @param {string} id Id of the layer.
 * @param {object} sym Style object.
 */
ILayer.prototype.setJDBCRenderingStyle = function (id, sym ){
  return;
} //setJDBCRenderingStyle()

/**
 * After create a Vector Layer can set secondary style(sym) spesific layer with given id dynamically.
 * @param {string} id Id of the layer.
 * @param {object} sym Style object.
 */
ILayer.prototype.addSecondaryStyle = function (id, sym ) {
  return;	
} //addSecondaryStyle()

/**
 * After create a Vector Layer can set cluster using variableMarker spesific layer with given id dynamically.
 * @param {string} id Id of the layer.
 * @param {object} variableMarker Style object can create from mapper.createVariableMarkerStyle(classification, color, stroke, type, textStyle, startSize, increment, numClasses, cx, cy, width, height).
 * @param {int} minPointCount  Enable clustering if the number of features in cluster is greater than or equal to this value.
 * @param {int} maxClusteringLevel Enable clustering if current zoom level is less than or equal to this value.
 * @param {int} threshold The cluster radius in pixels. Default value is 30 (i.e. points within 30 pixels of each other will be aggregated into a cluster).
 */
ILayer.prototype.enableClusterVectorLayer=function(id, variableMarker, minPointCount, maxClusteringLevel, threshold){
  return;
} // enableClusterVectorLayer()


/**
 * After create a Vector Layer can set heatMap spesific layer with given id dynamically.
 * @param {string} id Id of the layer.
 * @param {float} spotlightRadius  The spotlight radius. This specifies how far an event or record will cast its 'influence' or contribute to the heat of its nearby area.
 * The influence of any given event is at maximum at where it is located,and decreases as you move away from the event location. It will have no influence beyond the spotlight radius.
 * @param {Array} colorStops An array specifying the color stops. Each array entry is a (color) string specified as "#rrggbb".
 * @param {int} opacity Opacity value of heat map can set between 0-1.
 * @param {string} lengthUnit The unit of the spotlightRadius, such as "pixel", "meter", "kilometer", "km","feet" or "mile". Default value is "pixel".
 * @param {float} sampleFactor The factor by which the internal computation grid will be scaled down from the actual map window size. Default is 2.
 * Setting to 1 will cause no scaling, but will require the most browser memory and most CPU time; setting to a larger number will result in less memory usage but a less smooth-looking heat map.
 */
ILayer.prototype.setHeatMapStyle=function(id, spotlightRadius, colorStops, opacity, lengthUnit, sampleFactor){
  return;
} // setHeatMapStyle()

/**
 * After create a Vector Layer can set nsdp spesific layer with given id dynamically.
 * @param {string} id Id of the layer.
 * @param {string} keyColumn  Required. The column to match non-spatial data with spatial data (e.g. 'id').
 * @param {string} xml_data The non-spatial data in the nsdp xml format.
 */
ILayer.prototype.setNSDP = function (id, keyColumn, xml_data ) {
  return;	
} //setNSDP()

/**
 * After create a Vector Layer can set visual filter style(sym) spesific layer with given id dynamically.
 * @param {string} id Id of the layer.
 * @param {object} sym Style object.
 */
ILayer.prototype.setVisualFilter = function (id, sym ) {
  return;	
} //setVisualFilter()

/**
 * After create a Vector Layer can highlight features that pass the specified filter, spesific layer with given id dynamically.
 * @param {string} id Id of the layer.
 * @param {object} filter Filter object can create with mapper.createInsidePolygonFilter()
 */
ILayer.prototype.selectFeatureByFilter = function (id, filter ) {
  return;	
} //selectFeatureByFilter()

/**
 * Clear all currently selected features. All features are then displayed with the default rendering style.
 * @param {string} id Id of the layer.
 */
ILayer.prototype.clearSelectedFeatures = function (id) {
  return;	
} //clearSelectedFeatures()

/**
 * After create a Vector Layer can set select style spesific layer with given id dynamically.
 * @param {string} id Id of the layer.
 * @param {object} style Style object.
 */
ILayer.prototype.setSelectStyle = function (id, style) {
  return;	
} //setSelectStyle()

/**
 * Create Brand Layer
 * @see http://www.locationbox.com.tr/web/demov2/layerbrand.jsp
 *
 * @param {string} typ Brand of layer. See {@link http://www.locationbox.com.tr/web/api_poibrandlist.jsp PoiBrandList} for brand list.
 * @param {string} id Id of the layer.
 * @param {object} sym Style object.
 * @param {boolean} visible Visibility of the layer.
 * @param {function} mouseClick The user defined function that is called when layer is clicked.
 */
ILayer.prototype.createBrandLayer=function(typ, id, sym, visible, mouseClick) {
  return;
} // createBrandLayer()

/**
 * Create Cluster Brand Layer
 * @see http://www.locationbox.com.tr/web/demov2/layerbrand.jsp
 *
 * @param {string} typ Brand of layer. See {@link http://www.locationbox.com.tr/web/api_poibrandlist.jsp PoiBrandList} for brand list.
 * @param {string} id Id of the layer.
 * @param {object} sym Style object.
 * @param {boolean} visible Visibility of the layer.
 * @param {object} variableMarker Style object can create from mapper.createVariableMarkerStyle(classification, color, stroke, type, textStyle, startSize, increment, numClasses, cx, cy, width, height)
 * @param {int} minPointCount  Enable clustering if the number of features in cluster is greater than or equal to this value.
 * @param {int} maxClusteringLevel Enable clustering if current zoom level is less than or equal to this value
 * @param {int} threshold The cluster radius in pixels. Default value is 30 (i.e. points within 30 pixels of each other will be aggregated into a cluster).
 * @param {function} mouseClick The user defined function that is called when layer is clicked.
 */
ILayer.prototype.createClusterBrandLayer=function(typ, id, sym, visible, variableMarker, minPointCount, maxClusteringLevel, threshold, mouseClick) {
  return;
} // createClusterBrandLayer()

/**
 * Create Category Layer <br/>
 * @see http://www.locationbox.com.tr/web/demov2/layercategory.jsp
 *
 * @param {string} typ Category of layer. See {@link http://www.locationbox.com.tr/web/api_poicategorylist.jsp PoiCategoryList} for category list.
 * @param {string} id Id of the layer.
 * @param {object} sym Style object.
 * @param {boolean} visible Visibility of the layer.
 * @param {function} mouseClick The user defined function that is called when layer is clicked.
*/
ILayer.prototype.createCategoryLayer=function(typ, id, sym, visible, mouseClick) {
  return;
} // createCategoryLayer()

/**
 * Create Category Vector Layer<br/>
 * @see http://www.locationbox.com.tr/web/demov2/layercategory.jsp
 *
 * @param {string} typ Category of layer. See {@link http://www.locationbox.com.tr/web/api_poicategorylist.jsp PoiCategoryList} for category list.
 * @param {string} id Id of the layer.
 * @param {object} sym Style object.
 * @param {boolean} visible Visibility of the layer.
 * @param {function} mouseClick The user defined function that is called when layer is clicked.
 * @param {object} hoverStyle Color object for hover style create with mapper.createColorStyle(name, fillColor, fillOpacity, borderColor, borderOpacity, borderWidth). 
 * @param {boolean} setToolTip If "true" tooltip will be activeted.
*/
ILayer.prototype.createVectorCategoryLayer=function(typ, id, sym, visible, mouseClick, hoverStyle, setToolTip) {
 return;
}// createVectorCategoryLayer()

/**
 * Create Cluster Category Layer
 * @see http://www.locationbox.com.tr/web/demov2/layerbrand.jsp
 *
 * @param {string} typ category of layer. See {@link http://www.locationbox.com.tr/web/api_poibrandlist.jsp PoiBrandList} for brand list.
 * @param {string} id Id of the layer.
 * @param {object} sym Style object.
 * @param {boolean} visible Visibility of the layer.
 * @param {object} variableMarker Style object can create from mapper.createVariableMarkerStyle(classification, color, stroke, type, textStyle, startSize, increment, numClasses, cx, cy, width, height)
 * @param {int} minPointCount Enable clustering if the number of features in cluster is greater than or equal to this value.
 * @param {int} maxClusteringLevel Enable clustering if current zoom level is less than or equal to this value.
 * @param {int} threshold The cluster radius in pixels. Default value is 30 (i.e. points within 30 pixels of each other will be aggregated into a cluster).
 * @param {function} mouseClick The user defined function that is called when layer is clicked.
 */
ILayer.prototype.createClusterCategoryLayer=function(typ, id, sym, visible, variableMarker, minPointCount, maxClusteringLevel, threshold, mouseClick) {
  return;
} // createClusterCategoryLayer()

/**
 * Create HeatMap Layer
 * @see http://www.locationbox.com.tr/web/demov2/addheatmapuserpoint.jsp<br> 
 * @see http://www.locationbox.com.tr/web/demov2/addheatmappoi.jsp
 *
 * @param {string} typ Type of the layer. Layer types are listed below: <br/>
 * ILayer.HEATMAP_ULKE <br/>
 * ILayer.HEATMAP_IL <br/>
 * ILayer.HEATMAP_ILCE <br/>
 * ILayer.HEATMAP_MAHALLE <br/><br/>
 * @param {string} id Id of the layer.
 * @param {string} themeType Theme type are listed below: <br/>
 * ILayer.MAP_BOLGE <br/>
 * ILayer.MAP_IL <br/>
 * ILayer.MAP_ILCE <br/>
 * ILayer.MAP_MAHALLE <br/>
 * ILayer.USER_POINT <br/><br/>
 * @param {string} where If ILayer.USER_POINT is selected, the where clause for data parameters.
 * @param {boolean} visible Visibility of the layer.
 * @param {array} colorStops Color stop for heatMap default #009900, #FFFFCC, #FFFF66, #FFFF33, #FF9933, #FF6600, #FF3333, #FF0000.
*/
ILayer.prototype.createHeatmapLayer=function(typ, id, themeType, where, visible, colorStops) {
  return;
} // createHeatmapLayer()

/**
 * Create Brand HeatMap Layer
 * @see http://www.locationbox.com.tr/web/demov2/addheatmappoi.jsp
 *
 * @param {string} typ Brand of layer.
 * @param {string} id Id of the layer.
 * @param {string} brand See: {@link http://www.locationbox.com.tr/web/api_poibrandlist.jsp PoiBrandList}.
 * @param {boolean} visible Visibility of the layer.
 * @param {array} colorStops Color stop for heatMap default "#009900, #FFFFCC, #FFFF66, #FFFF33, #FF9933, #FF6600, #FF3333, #FF0000".
*/
ILayer.prototype.createBrandHeatmapLayer=function(typ, id, brand, visible, colorStops) {
  return;
} // createBrandHeatmapLayer()

/**
 * Create Category HeatMap Layer 
 * @see http://www.locationbox.com.tr/web/demov2/addheatmapuserpoint.jsp
 * @see http://www.locationbox.com.tr/web/demov2/addheatmappoi.jsp
 *
 * @param {string} typ Category of layer. List of types:<br/>
 * ILayer.HEATMAP_ULKE <br/>
 * ILayer.HEATMAP_IL <br/>
 * ILayer.HEATMAP_ILCE <br/>
 * ILayer.HEATMAP_MAHALLE <br/><br/>
 * @param {string} id Id of the layer.
 * @param {string} category The type of category that will be visible. Category List: {@link http://www.locationbox.com.tr/web/api_poicategorylist.jsp PoiCategoryList}.
 * @param {boolean} visible Visibility of the layer.
 * @param {array} colorStops Color stop for heatMap default is "#009900, #FFFFCC, #FFFF66, #FFFF33, #FF9933, #FF6600, #FF3333, #FF0000".
*/
ILayer.prototype.createCategoryHeatmapLayer=function(typ, id, category, visible, colorStops) {
  return;
} // createCategoryHeatmapLayer()

/**
 * Create Demographic Layer
 *
 * @param {string} typ List of types:<br/>
 * ILayer.DEMOGRAFIK_YAS_DURUMU<br/>
 * ILayer.DEMOGRAFIK_NUFUS<br/>
 * ILayer.DEMOGRAFIK_EGITIM<br/>
 * ILayer.DEMOGRAFIK_KONUT_SAYISI<br/>
 * ILayer.DEMOGRAFIK_ARAC_SAYISI <br/>
 * @param {string} id Id of the layer.
 * @param {boolean} visible Visibility of the layer.
 * @param {function} mouseClick The user defined function that is called when layer is clicked.
*/
ILayer.prototype.createDemographicLayer=function(typ, id, visible, mouseClick) {
  return;
} // createDemographicLayer()

/**
* Create Theme Layer
*
* @param {string} id Id of the layer.
* @param {string} name Name of the layer.
* @param {boolean} visible Visibility of the layer.
* @param {function} mouseClick The user defined function that is called when layer is clicked.
*/
ILayer.prototype.createThemeLayer=function(id, name, params, visible, mouseClick, mouseRClick) {
    return;
} // createThemeLayer ()

/**
* Remove layer
*/
 ILayer.prototype.removeLayer=function() {
  return;
}   

/**
 * Set Layer Visibility
 * @param {boolean} visible Layer visibility.
*/
ILayer.prototype.setVisible=function(visible) {  
  return;
}

/**
 * Refresh Theme
*/
ILayer.prototype.refresh=function() {
  return;
}

/**
 * Zoom to Layer
*/
ILayer.prototype.zoomToLayer=function() {
  return;
}