# Source: bemap-model/bemap-revGeoSearchInfo.js

    /**
     * BeNomad BeMap JavaScript API - RevGeoSearchInfo
     */

    /**
     * @classdesc
     * Base class for reverse geocoding search information.
     * @public
     * @constructor
     * @abstract
     * @param {object} options see below the available values.
     * @param {String} options.xy Mandatory
     * @param {String} options.radius Mandatory
     * @param {String} options.angle Accessor to the GPS angle measure (in degrees). Default is -1.
     * @param {String} options.speed Accessor to the GPS speed measure (in km/h).
     * @param {String} options.transportType Transportation mode. Available values: PEDESTRIAN BICYCLE MOTORCYCLE CAR TAXI PUBLIC_BUS EMERGENCY DELIVERY_TRUCK TRUCK
     * @param {String} options.language Define the language that will be used to perform the address lookup.
     * @param {Int} options.maxResult The maximum number of items used to perform the research and returned items by the server. Default is 1.
     * @param {String} options.options
     */
    bemap.RevGeoSearchInfo = function(options) {
        var opts = options || {};

        /**
         * @type {String}
         * @protected
         */
        this.xy = opts.xy ? opts.xy : null;

        /**
         * @type {String}
         * @protected
         */
        this.angle = opts.angle ? opts.angle : null;

        /**
         * @type {String}
         * @protected
         */
        this.radius = opts.radius ? opts.radius : null;

        /**
         * @type {String}
         * @protected
         */
        this.speed = opts.speed ? opts.speed : null;

        /**
         * @type {String}
         * @protected
         */
        this.transportType = opts.transportType ? opts.transportType : null;

        /**
         * @type {String}
         * @protected
         */
        this.language = opts.language ? opts.language : null;

        /**
         * @type {int}
         * @protected
         */
        this.maxResult = opts.maxResult ? opts.maxResult : null;

        /**
         * @type {String}
         * @protected
         */
        this.options = opts.options ? opts.options : null;
    };

    /**
     * Get XY informations.
     * @return {String} xy.
     */
    bemap.RevGeoSearchInfo.prototype.getXy = function() {
        return this.xy;
    };

    /**
     * Get the angle information.
     * @return {String} angle.
     */
    bemap.RevGeoSearchInfo.prototype.getAngle = function() {
        return this.angle;
    };

    /**
     * Get the radius information.
     * @return {String}
     */
    bemap.RevGeoSearchInfo.prototype.getRadius = function() {
        return this.radius;
    };

    /**
     * Get the speed information.
     * @return {String} speed.
     */
    bemap.RevGeoSearchInfo.prototype.getSpeed = function() {
        return this.speed;
    };

    /**
     * Get then transport type information.
     * @return {String} transportType.
     */
    bemap.RevGeoSearchInfo.prototype.getTransporType = function() {
        return this.transportType;
    };

    /**
     * Get the language information.
     * @return {String} language.
     */
    bemap.RevGeoSearchInfo.prototype.getLanguage = function() {
        return this.language;
    };

    /**
     * Get the number maximum of result.
     * @return {Int} maxResult.
     */
    bemap.RevGeoSearchInfo.prototype.getMaxResult = function() {
        return this.maxResult;
    };

    /**
     * Get the options of the research.
     * @return {String} options.
     */
    bemap.RevGeoSearchInfo.prototype.getOptions = function() {
        return this.options;
    };

    /**
     * Set XY informations.
     * @param {String} xy the new xy information to set.
     * @return {bemap.RevGeoSearchInfo} this.
     */
    bemap.RevGeoSearchInfo.prototype.setXy = function(xy) {
        this.xy = xy;
        return this;
    };

    /**
     * Set the angle information.
     * @param {String} angle the new angle to set.
     * @return {bemap.RevGeoSearchInfo} this.
     */
    bemap.RevGeoSearchInfo.prototype.setAngle = function(angle) {
        this.angle = angle;
        return this;
    };

    /**
     * Set the radius information.
     * @param {String} radius the new radius to set.
     * @return {bemap.RevGeoSearchInfo} this.
     */
    bemap.RevGeoSearchInfo.prototype.setRadius = function(radius) {
        this.radius = radius;
        return this;
    };

    /**
     * Set the speed information.
     * @param {String} speed the new speed to set.
     * @return {bemap.RevGeoSearchInfo} this.
     */
    bemap.RevGeoSearchInfo.prototype.setSpeed = function(speed) {
        this.speed = speed;
        return this;
    };

    /**
     * Set then transport type information.
     * @param {String} transportType the new transport type to set.
     * @return {bemap.RevGeoSearchInfo} this.
     */
    bemap.RevGeoSearchInfo.prototype.setTransporType = function(transportType) {
        this.transportType = transportType;
        return this;
    };

    /**
     * Set the language information.
     * @param {String} language the new language to set.
     * @return {bemap.RevGeoSearchInfo} this.
     */
    bemap.RevGeoSearchInfo.prototype.setLanguage = function(language) {
        this.language = language;
        return this;
    };

    /**
     * Set the number maximum of result.
     * @param {Int} maxResult the new number max of results to set.
     * @return {bemap.RevGeoSearchInfo} this.
     */
    bemap.RevGeoSearchInfo.prototype.setMaxResult = function(maxResult) {
        this.maxResult = maxResult;
        return this;
    };

    /**
     * Set the research options.
     * @param {String} options the new number max of results to set.
     * @return {bemap.RevGeoSearchInfo} this.
     */
    bemap.RevGeoSearchInfo.prototype.setOptions = function(options) {
        this.options = options;
        return this;
    };