terriajs
Version:
Geospatial data visualization platform.
108 lines (107 loc) • 4.67 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import objectArrayTrait from "../Decorators/objectArrayTrait";
import objectTrait from "../Decorators/objectTrait";
import primitiveTrait from "../Decorators/primitiveTrait";
import mixTraits from "../mixTraits";
import ModelTraits from "../ModelTraits";
import { traitClass } from "../Trait";
import AutoRefreshingTraits from "./AutoRefreshingTraits";
import CatalogMemberTraits from "./CatalogMemberTraits";
import GtfsModelTraits from "./GtfsModelTraits";
import LayerOrderingTraits from "./LayerOrderingTraits";
import LegendOwnerTraits from "./LegendOwnerTraits";
import MappableTraits from "./MappableTraits";
import OpacityTraits from "./OpacityTraits";
import ScaleByDistanceTraits from "./ScaleByDistanceTraits";
import UrlTraits from "./UrlTraits";
export class HeadersTraits extends ModelTraits {
name;
value;
}
__decorate([
primitiveTrait({
name: "Name",
description: "The header name",
type: "string"
})
], HeadersTraits.prototype, "name", void 0);
__decorate([
primitiveTrait({
name: "Value",
description: "The header value",
type: "string"
})
], HeadersTraits.prototype, "value", void 0);
let GtfsCatalogItemTraits = class GtfsCatalogItemTraits extends mixTraits(UrlTraits, CatalogMemberTraits, LegendOwnerTraits, MappableTraits, OpacityTraits, LayerOrderingTraits, AutoRefreshingTraits) {
headers;
image;
scaleImageByDistance;
model;
};
__decorate([
objectArrayTrait({
name: "Headers",
description: "Extra headers to attach to queries to the GTFS endpoint",
type: HeadersTraits,
idProperty: "name"
})
], GtfsCatalogItemTraits.prototype, "headers", void 0);
__decorate([
primitiveTrait({
name: "Image url",
description: "Url for the image to use to represent a vehicle. Recommended size 32x32 pixels.",
type: "string"
})
], GtfsCatalogItemTraits.prototype, "image", void 0);
__decorate([
objectTrait({
name: "Scale Image by Distance",
description: "Describes how marker images are scaled by distance from the viewer.",
type: ScaleByDistanceTraits
})
], GtfsCatalogItemTraits.prototype, "scaleImageByDistance", void 0);
__decorate([
objectTrait({
name: "Model",
description: "3D model to use to represent a vehicle.",
type: GtfsModelTraits
})
], GtfsCatalogItemTraits.prototype, "model", void 0);
GtfsCatalogItemTraits = __decorate([
traitClass({
description: `Creates one catalog item from url that points to a gtfs service.
<strong>Note:</strong>
<li>You need to obtain a valid api key for the NSW transport api.</li>
<li>When the camera is less than <code>maximumDistance</code> (500m) away, bus 3d models (scene.gltf) will be rendered.</li>`,
example: {
type: "gtfs",
url: "https://api.transport.nsw.gov.au/v1/gtfs/vehiclepos/buses",
image: "https://tiles.terria.io/terriajs-examples/gtfs/TfNSW_B.png",
name: "NSW Live Transport - Buses",
headers: [
{
name: "Authorization",
value: "apikey put-a-real-api-key-here"
}
],
refreshInterval: 60,
featureInfoTemplate: {
name: "{{vehicle_trip_bus_number}}",
template: "<b>Bus:</b> {{route_short_name}}<br><b>Occupancy:</b> {{occupancy_status_str}}<br><b>Speed:</b> {{speed_km}} km/h<br><b style='padding-right: 5px'>Direction:</b> <span style='transform: rotate({{bearing}}deg); width: 10px; display: inline-block' aria-label='{{bearing}} degrees' role='img' title='{{bearing}} degrees'>⬆</div>"
},
model: {
url: "https://tiles.terria.io/terriajs-examples/gtfs/lowpoly_bus/scene.gltf",
scale: 0.3048,
maximumDistance: 500.0
},
id: "some unique id"
}
})
], GtfsCatalogItemTraits);
export default GtfsCatalogItemTraits;
//# sourceMappingURL=GtfsCatalogItemTraits.js.map