V3
Last updated
Last updated
The search algorithm in MICommon has been updated so a partial match on the start of a word would be ranked higher.
Locations for Venues, Buildings, and Floors is now included in the results from LocationsService.getLocations().
getFieldForKey on Locations objects for getting data for custom property with key, disregarding casing of key.
Filtering locations using categories in LocationsService.getLocations().
Filtering locations using venue or building had no effect in LocationsService.getLocations().
Sometimes querying using the take parameter would return fewer results than expected.
Added support for authentication flow.
Fixed issue where the SDK would throw an error if locations were requested before data had been loaded.
Added option to DirectionsRenderer to control if the map's viewport will be fitted to the bounds of the rendered route.
This release is build on MICommon
Inaccessible localStorage in the browser will no longer crash the SDK.
Added externalId property on location properties object. roomId is now deprecated.
PositionControl no longer regards saved position permission as invoked by clicking on the position control.
PositionControl to show device position on the map.
Error response body is now relayed correctly.
ShareService.directionsToPhone now requires country code to be provided seperately.
Changed the locations service to utilize the new backend apis new url structure.
Fixed a bug where VenuesService.getBuildings calls for solutions/venues with no buildings caused rejection.
Share service with function to send route directions via text message to phone.
Fixed a bug where user roles were not passed along to distance matrix call.
Fixed bug where getBuilding returned undefined until the map had been moved.
Client side caching. Most request are now beeing cached in the browser.
Added support for separate visibility control of label and icon
The DirectionsService will now return a route object with the status "ZERO_RESULTS" if no route could be calculated. Before it unintentional threw an error.
Fixed a bug where the imageURL property on locations sometimes would be named imageurl.
Floor calculation when building comes into focus according to agreed upon strategy, including respecting default floor of a building.
The filter method now respects the fitView boolean also when clearing filter.
Make sure selected/highlighted floor is always visible (no need to scroll) when focusing building.
App config cache is now based on solution to avoid misconfiguration when switching solution.
No longer assume that location imageURL
always is received in lowercase from the backend.
SolutionsService.getUserRoles()
gets a list of user roles that can be used for filtering the directions result. This prevents routes from going through restriced areas.
userRoles parameter added to DirectionsService.getRoute() for filtering the directions result. The userRoles paramter takes a array of user role ids.
Directions to a venue can now make directions via a parking lot when driving or bicycling.
Fixed a bug in mapsindoors.DirectionsRenderer
. When setRoute(null)
was called to remove the route from map it would throw an error.
Fixed the "Cannot read property 'toJSON()' of null" error caused by looking for buildings in view before the map has a bounding box.
Fixed build toolchain to prevent IE11 crash.
Added the ability to change the api key at runtime via mapsindoors.MapsIndoors.setApiKey(key);
Added the functions to get and set the language at runtime:
mapsindoors.MapsIndoors.setLanguage(language);
mapsindoors.MapsIndoors.getLanguage();
The SDK now selects the fastest backend server based on a latency test.
A list of known backends is stored in localStorage for the SDK to choose from. The list of known backends are updated automatically as part of the latency test.
Fixed a crash caused by setting mapStyle via the MapsIndoors constructor.
It's now posible to set a displayRule for a list of location ids or types. myMapsIndoors.setDisplayRule(["abc", "cde", "fgh"], { visible: false });
Added the functions setMapStyle, getMapStyle and getMapStyles to MapsIndoors.
setMapStyle() set a new indoor map style.
getMapStyle() get the current style of the indoors map.
getMapStyles() get a list of availeble indoor map styles.
Optimized map performance by reducing the amount POIs
Support for IE 11
Script must now be loaded with apikey parameter instead of solutionId, e.g. https://app.mapsindoors.com/mapsindoors/js/sdk/mapsindoors-3.0.0-rc0.js?apikey=57e4e4992e74800ef8b69718
All services are now shared instances, so they cannot be newed. E.g. you must rewrite let directionsService = new mapsindoors.DirectionsService();
to let miDirectionsService = mapsindoors.DirectionsService;
Location click events for a MapsIndoors instance are now subscribable with the event name click
instead of location_click
, e.g. google.maps.event.addListener(myMapsIndoors, 'click', (poi) => { console.log(poi.id); });
DirectionService.route()
has been renamed to DirectionService.getRoute()
.
DirectionRenderer.setDirections()
has been renamed to DirectionRenderer.setRoute()
.
DirectionService.getRoute()
request parameter travelMode
has been renamed to mode
.
DirectionRenderer.setDirections()
now only accepts a single route instead of a route result, e.g. DirectionRenderer.setRoute(myRouteResult.routes[0])
.
To highlight locations on a map through a MapsIndoors
instance, instead of providing a query object to MapsIndoors.find()
, you must now pass a list of locationId
's to MapsIndoors.filter()
.
Removed MapsIndoors.find()
, use MapsIndoors.filter()
instead
Removed MapsIndoors.locate()
, use MapsIndoors.filter()
instead
Icons for single Locations can now be updated independantly, by referencing the location id. E.g. myMapsIndoors.setDisplayRule('some-location-id', { icon: { url: 'https://icon.url' } });
Fixed a rendering bug that was causing MapsIndoors' map markers to occasionally disappear