TPR: TOTVS: Planejamento de Rotas
Sistema Externo: Todos os ERPs que se conectam ou pretendem se conectar com os produtos de planejamento logístico TOTVS.
Bloco de código | ||
---|---|---|
| ||
class TPR {
get(token: String): Promise<TPRServices>
}
class TPRServices{
createMap(element: HTMLElement, mapOptions: TPRMapOptions): Promise<TPRMap>;
}
class TPRMapOptions{
public height: number;
public width: number;
}
class TPRMap{
addMarker(point: TPRPoint, markerOptions?: MarkerOptions): void;
viewRoute(route: TPRRoute, routeOptions?: TPRRouteOptions): Promise<TPRMapRoute>;
zoomIn(): void;
zoomOut(): void;
centerOn(point: TPRPoint);
centerRoutes(): void;
clear(): void;
close(): void;
}
class TPRPoint{
public latitude;
public longitude;
}
interface MarkerOptions{
color?: String;
draggable?: boolean;
onDrag?: (latitude: number, longitude: number) => void
}
class TPRRouteOptions{
constructor(public tooglePopup: boolean) {}
}
class TPRRoute{
constructor(public trip: TPRTrip) {
}
}
class TPRTrip{
// Campos do TPRTrip (https://tdn.totvs.com/pages/releaseview.action?pageId=604507369)
}
class TripStop{
// Campos do TPRStop (https://tdn.totvs.com/pages/releaseview.action?pageId=604507369)
}
interface TPRMapRoute{
hide(): void;
show(): void;
color(color?: String);
}
(function() {
//require ou import TPR
const tpr: TPR;
let tprServices: TPRServices;
tpr.get("alksdjlaksdjal")
.then((services) => {
tprServices = services;
});
let tprMap: TPRMap;
// Caso de uso 1: visualizar uma localidade no mapa
tprServices.createMap(document.getElementById("mapDiv"), {
height: 300,
width: 650
}).then((map) => {
tprMap = map;
map.addMarker({latitude: -23, longitude: -46});
});
// Caso de uso 2: zoomIn
tprMap.zoomIn();
// Caso de uso 3: zoomOut
tprMap.zoomOut();
// Caso de uso 4: centralizar sobre um ponto específico
tprMap.centerOn({latitude: -23, longitude: -46});
// Caso de uso 5: Centralizar considerando todos os pontos plotados
tprMap.centerRoutes();
// Caso de uso 6: Ver rota
tprMap.viewRoute(new TPRRoute([{latitude: -23, longitude: -46}, {latitude: -22, longitude: -45}]));
// Caso de uso 7: Limpa o conteúdo (pontos e rota)
tprMap.clear();
// Caso de uso 8: Remover mapa
tprMap.close();
// Caso de uso 9: Esconder roda
let tprMapRoute: TPRMapRoute;
tprMap.viewRoute(new TPRRoute([{latitude: -23, longitude: -46}, {latitude: -22, longitude: -45}]))
.then((mapRoute) => tprMapRoute = mapRoute);
tprMapRoute.hide();
// Caso de uso 10: Reexibir rota
tprMapRoute.show();
// Caso de uso 11: Trocar cor de rota
tprMapRoute.color("AABBCC");
// Caso de uso 12: Exibir popup nas paradas
tprMap.viewRoute(new TPRRoute([{latitude: -23, longitude: -46}, {latitude: -22, longitude: -45}]),
new TPRRouteOptions(true));
// Caso de uso 13: Receber evento de drag dos marcadores
tprMap.addMarker({latitude: -23, longitude: -46}, {
draggable: true,
onDrag: (lat, long) => console.log("Arrastei o marcador")
});
})(); |
Anexos