Á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(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

Anexos