Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Introdução

Sistemas Envolvidos

  • 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.

Integração

  • Formato de entrada/saída: Javascript

Escopo

Pré-requisitos instalação/implantação/utilização

  • Para clientes Protheus versão xxxxxx;
  • Para clientes Datasul versão xxxxxx;
  • Para clientes externos contratação do trial via TOTVS Store;

Layout de Requisição

Bloco de código
languagejs

class

TPR

{ get

{

   get(token:

String):

Promise<TPRServices> } class TPRServices{ createMap

Promise<TPRServices>

}

Âncora
TRPServices
TRPServices

class TPRServices{
   createMap(element:

HTMLElement,

mapOptions:

TPRMapOptions): Promise<TPRMap>;
}

Âncora
TPRMapOptions
TPRMapOptions

class TPRMapOptions{
   public height: number;
   public width: number;
}

Âncora
TPRMap
TPRMap

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;

}

Âncora
TPRPoint
TPRPoint

class TPRPoint{
   public latitude;
   public longitude;
}

Âncora
MarkerOptions
MarkerOptions

interface MarkerOptions{
   color?: String;
   draggable?: boolean;
   onDrag?: (latitude: number, longitude: number) => void
}

Âncora
TPRRoute
TPRRoute

class TPRRoute{

   constructor(public trip: TPRTrip) {
   }
}

Âncora
TPRrouteOptions
TPRrouteOptions

class TPRRouteOptions{
   constructor(public tooglePopup: boolean) {}
}

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

Anexos