Skip to content
MapSVG 8/Documentation

MapsvgClient

Client class, globally available as mapsvg or window.mapsvg. It contains all of the classes and utilities. Example usage:

// Init objects
const map = new mapsvg.map(...)
const location = new mapsvg.location(...)
// Get map
const map = mapsvg.getById(12)
// Use utilities
if(mapsvg.utils.env.isPhone()) {
// do something for mobile devices
}
const capitalizedString = map.utils.strings.ucfirst("orange") // > Orange
get googleMapsApiKey(): string;

string

Mapsvg.googleMapsApiKey


get nonce(): string;

string

set nonce(_nonce): void;
ParameterType
_noncestring

void

Mapsvg.nonce

new MapsvgClient(): MapsvgClient;

MapsvgClient

Mapsvg.constructor

addInstance(mapsvg): void;
ParameterType
mapsvgany

void

Mapsvg.addInstance


extend(sub, base): void;
ParameterType
subany
baseany

void

Mapsvg.extend


extendBuiltins(): void;

void

Mapsvg.extendBuiltins


get(index): MapSVGMap;
ParameterType
indexany

MapSVGMap

Mapsvg.get


getByContainerId(id): MapSVGMap;
ParameterType
idany

MapSVGMap

Mapsvg.getByContainerId


getById(id): MapSVGMap;
ParameterType
idany

MapSVGMap

Mapsvg.getById


init(options): Promise<void>;
ParameterType
optionsMapsvgFrontendParams

Promise<void>

Mapsvg.init


lazyLoadMap(container): void;
ParameterType
containerHTMLElement

void

Mapsvg.lazyLoadMap


loadMap(container): void;
ParameterType
containerHTMLElement

void

Mapsvg.loadMap


loadMaps(): void;

void

Mapsvg.loadMaps


receiveMessageFromIframe(event): void;
ParameterType
eventany

void

Mapsvg.receiveMessageFromIframe


setEventHandlers(): void;

void

Mapsvg.setEventHandlers


unloadMaps(): void;

void

Mapsvg.unloadMaps


static createClient(frontEndOptions?): Mapsvg;
ParameterType
frontEndOptions?MapsvgFrontendParams

Mapsvg

Mapsvg.createClient

_nonce: string;

Mapsvg._nonce


arrayIndexed: typeof ArrayIndexed = ArrayIndexed;

customObject: typeof Model = Model;

defaultMarkerImage: string;

Mapsvg.defaultMarkerImage


distanceSearch: any;

Mapsvg.distanceSearch


formBuilder: typeof FormBuilder = FormBuilder;

geoPoint: typeof GeoPoint = GeoPoint;

google_maps_api_key: string;

Mapsvg.google_maps_api_key


googleMaps: object;
apiIsLoading: boolean;
apiKey: string;
loaded: boolean;
onLoadCallbacks: () => void[];

void

Mapsvg.googleMaps


googleMapsApiLoaded: boolean = false;

Mapsvg.googleMapsApiLoaded


initialized: boolean;

Mapsvg.initialized


instances: MapSVGMap[];

Mapsvg.instances


loaded: boolean = false;

Mapsvg.loaded


location: typeof Location = Location;

map: typeof MapSVGMap = MapSVGMap;

mapsRepository: typeof MapsRepository = MapsRepository;

mapsV2Repository: typeof MapsV2Repository = MapsV2Repository;

marker: typeof Marker = Marker;

markerImages: object[];
file: string;
folder: string;
optional relativeUrl: string;
url: string;

Mapsvg.markerImages


mediaUploader: any;

Mapsvg.mediaUploader


meta: Record<string, any> = {};

Mapsvg.meta


mouse: object;
x: number;
y: number;

Mapsvg.mouse


query: typeof Query = Query;

region: typeof Region = Region;

repository: typeof Repository = Repository;

ResizeSensor: typeof ResizeSensor;

Mapsvg.ResizeSensor


routes: MapsvgRoutes;

Mapsvg.routes


schema: typeof Schema = Schema;

schemaRepository: typeof SchemaRepository = SchemaRepository;

screenPoint: typeof ScreenPoint = ScreenPoint;

server: typeof Server = Server;

svgPoint: {
(x?, y?, z?, w?): DOMPoint;
prototype: DOMPoint;
fromPoint: DOMPoint;
} = SVGPoint;
ParameterType
x?number
y?number
z?number
w?number

DOMPoint

prototype: DOMPoint;
fromPoint(other?): DOMPoint;

MDN Reference

ParameterType
other?DOMPointInit

DOMPoint


templatesLoaded: Record<string, boolean> = {};

Mapsvg.templatesLoaded


useRepository: {
(name, map): Repository;
(name, map): Repository;
(name, map): SchemaRepository;
(name, map): MapsRepository;
(name, map): PostTypesRepository;
};
(name, map): Repository;
ParameterType
name| "regions" | ["regions", string] | SchemaOptions
mapMapSVGMap

Repository

(name, map): Repository;
ParameterType
name| SchemaOptions | "objects" | ["objects", string]
mapMapSVGMap

Repository

(name, map): SchemaRepository;
ParameterType
name| SchemaOptions | "schemas"
mapMapSVGMap

SchemaRepository

(name, map): MapsRepository;
ParameterType
name| SchemaOptions | "maps"
mapMapSVGMap

MapsRepository

(name, map): PostTypesRepository;
ParameterType
name| SchemaOptions | ["postTypes", string]
mapMapSVGMap

PostTypesRepository


utils: object;
env: object;
getBrowser: () => object;

Gets browser info (IE, Firefox, Safari).

object

firefox: boolean;
ie: boolean;
safari: boolean;
getDevice: () => object;

Detects if the device is iOS or Android.

object

android: boolean;
ios: boolean;
getMouseCoords: (e) => object;

Gets mouse or touch coordinates from an event.

ParameterTypeDescription
eMouseEvent | TouchEvent | TriggeredEvent<any, any, any, any>

object

x: number;
y: number;
getUserAgent: () => string;

Gets the user agent string in lowercase.

string

isMac: () => boolean;

Checks if the current OS is Mac.

boolean

isPhone: () => boolean;

Checks if the device is a phone (max-width: 767px).

boolean

files: object;
getFileType: (url) => "JS" | "CSS" | "Unknown";

Gets the file type from a URL.

ParameterTypeDescription
urlany

"JS" | "CSS" | "Unknown"

“JS”, “CSS”, or “Unknown”

loadFile: (file) => Promise<unknown>;

Loads a single JS or CSS file.

ParameterTypeDescription
fileany

Promise<unknown>

loadFiles: (files) => Promise<any[]>;

Loads multiple files (JS or CSS).

ParameterTypeDescription
filesany

Promise<any[]>

funcs: object;
deepMerge: {
<T, U> (target, source): T & U;
<T, U, V> (target, middle, source): T & U & V;
};
<T, U>(target, source): T & U;

Deep merges two or three objects.

Type Parameter
T
U
ParameterTypeDescription
targetT
sourceU

T & U

<T, U, V>(
target,
middle,
source): T & U & V;

Deep merges two or three objects.

Type Parameter
T
U
V
ParameterTypeDescription
targetT
middleU
sourceV

T & U & V

geocode: (query, callback) => boolean;
ParameterType
queryany
callbackany

boolean

getNestedValue: (obj, path) => any;

Gets a nested value from an object using dot or PHP-style bracket notation.

ParameterTypeDescription
objanyThe object to traverse.
pathstringThe path string (e.g. ‘a.b.c’ or ‘a[b][c]’).

any

The value at the nested path, or undefined if not found.

getNestedValue(obj, 'a.b.c')
getNestedValue(obj, 'a[b][c]')
splitObjectAndField: (fields) => object;
ParameterType
fieldsstring

object

field: string;
object: string;
throttle: (method, delay, scope, params) => void;

Throttles a function call by a delay.

ParameterTypeDescription
methodany
delayany
scopeany
paramsany

void

http: object;
handleFailedRequest: (response) => void;

Handles a failed AJAX request and shows a growl error.

ParameterTypeDescription
responseany

void

numbers: object;
compareVersions: (v1, v2) => -1 | 0 | 1;

Compares two version strings (e.g. “1.2.3”).

ParameterTypeDescription
v1any
v2any

-1 | 0 | 1

1 if v1 > v2, -1 if v1 < v2, 0 if equal

isNumber: (n) => boolean;

Checks if a value is a number.

ParameterTypeDescription
nany

boolean

parseBoolean: (string) => boolean;

Parses a string to boolean.

ParameterTypeDescription
stringany

boolean

strings: object;
convertToText: (obj) => any;

Converts an object to a string representation.

ParameterTypeDescription
objany

any

fixColorHash: (color) => string;

Adds a hash to a color string if missing.

ParameterTypeDescription
colorstring

string

functionFromString: (string) => SyntaxError | TypeError;

Converts a string to a function.

ParameterTypeDescription
stringstring

SyntaxError | TypeError

Function or object {error: "error text"}

removeLeadingSlash: (str) => any;

Removes a leading slash from a string.

ParameterTypeDescription
strany

any

safeURL: (url) => any;

Normalizes a URL by removing the protocol and domain.

ParameterTypeDescription
urlany

any

toSnakeCase: (str) => string;

Converts a string to snake_case.

ParameterTypeDescription
strstring

string

ucfirst: (string) => any;

Uppercases the first character of a string.

ParameterTypeDescription
stringany

any


version: string = "process.env.VERSION";

Mapsvg.version


static initialized: boolean = false;

Mapsvg.initialized