# General
The map views are a way of showing data point on a map. Often, it is used to show GPS data, or fixed position of any sensor. This View can also display path using the corresponding Layer.
# Example
The code is pretty similar between each view. Depending on what we want to display, we can have the same code or add options specific to a View, for example, the ImageDrapingLayer to the Cesium one.
Here is an example of common and specific code for the View:
// create data source for Android phone GPS
import SosGetResult from 'osh-js/core/datasource/sos/SosGetResult.datasource.js';
import PointMarkerLayer from 'osh-js/core/ui/layer/PointMarkerLayer.js';
import LeafletView from 'osh-js/core/ui/view/map/LeafletView.js';
import DataSynchronizer from 'osh-js/core/timesync/DataSynchronizer';
import {Mode} from 'osh-js/core/datasource/Mode';
let gpsDataSource = new SosGetResult("android-GPS", {
endpointUrl: 'sensiasoft.net/sensorhub/sos',
offeringID: 'urn:android:device:060693280a28e015-sos',
observedProperty: 'http://sensorml.com/ont/swe/property/Location',
startTime: '2015-02-16T08:01:15.447Z',
endTime: '2015-02-16T08:09:00Z',
mode: Mode.REPLAY,
tls: true,
timeShift: -16000
// responseFormat: 'application/octet-stream',
});
const dataSynchronizer = new DataSynchronizer({
replaySpeed: 2,
startTime: '2015-02-16T07:58:22.00Z',
endTime: "2015-02-16T08:09:00Z",
dataSources: [gpsDataSource]
});
// style it with a moving point marker
let pointMarkerLayer = new PointMarkerLayer({
dataSourceId: gpsDataSource.id,
getLocation: (rec) => ({
x: rec.location.lon,
y: rec.location.lat,
z: rec.location.alt
}),
icon: './images/car-location.png',
iconSize: [32, 64],
iconAnchor: [16, 65],
name: 'Car',
description: 'GPS car Toulouse'
});
Now, for the same piece of code, we can create the view:
← General OpenLayers →