Map Display

Ejemplo 4 – Utilización de los parámetros del Leaflet

Es posible utilizar funciones o parámetros de Leaflet que aún no tienen equivalentes en la API Javascript de Maplink. Para ello, acceda a su objeto de mapa a través de las propiedades L y map, respectivamente.

const L = maplink.L;
const map = maplink.map;

En este ejemplo, se tomó una ruta con la Trip API con tres paradas. Se utilizó la biblioteca Leaflet para los marcadores y la ruta se visualizó utilizando el método line.

Utilizamos L.icon de Leaflet para cargar el marcador con figuras personalizadas donde figura_origem.png es la figura del punto de origen y figura_destino.png es la figura de los puntos de destino.

Puede ver que el formato de las coordenadas de latitud/longitud para localizar el marcador es el siguiente: L.marker([-23.503939, -46.498419].

La ruta seguida por Trip API tiene dos tramos, que representan los tramos entre las paradas.

Así que utilizamos el método con el color verde para la sección 1 line y el color rojo para la sección 2 (maplink.line(route1, {color: "green"})). (maplink.line(route2, {color: "red"}))

<html>
<head>
  <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
  <script src="https://maps.maplink.global"></script>
  <style>
    #map {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
    }
  </style>
</head>


<body>
  <div id="map"></div>
  <script type="text/javascript">
    const apiKey = "SUA CHAVE DE API";
    const maplink = new MaplinkMap(apiKey, "map", { center: [-23.503939, -46.498419] });
    const L = maplink.L;
    const map = maplink.map;


    var iconCD = L.icon({
      iconUrl: 'figura_origem.png',
      iconSize: [32, 32],
      shadowSize: [0, 0],
      iconAnchor: [15, 30],
      shadowAnchor: [0, 0],
      popupAnchor: [-3, -32]
    });
    markerCD = new L.marker([-23.503939, -46.498419], { icon: iconCD })
      .bindPopup("<strong>CD</strong>")
      .addTo(map);


    var locations = [
      ["Cliente1", -23.506608, -46.499145],
      ["Cliente2", -23.509059, -46.501193]
    ];


    var Icon = L.icon({
      iconUrl: 'figura_destino.png',
      iconSize: [32, 32],
      shadowSize: [0, 0],
      iconAnchor: [15, 30],
      shadowAnchor: [0, 0],
      popupAnchor: [-3, -32]
    });




    for (var i = 0; i < locations.length; i++) {
      marker = new L.marker([locations[i][1], locations[i][2]], { icon: Icon })
        .bindPopup(locations[i][0])
        .addTo(map);
    }


    const tripSolution = JSON.parse(`{
    "id": "6099c6a8fec03d33f22a7f6f",
    "clientId": "0wfdGfgEOFpME1RcsrBj4U5yAAJjeqFG",
    "totalDistance": 1112,
    "totalNominalDuration": 200,
    "averageSpeed": 20.02,
    "legs": [
        {
            "distance": 431,
            "nominalDuration": 77,
            "averageSpeed": 20.15,
            "points": [
                {
                    "latitude": -23.50393569920035,
                    "longitude": -46.49834851821927
                },
                {
                    "latitude": -23.504808,
                    "longitude": -46.4983
                },
                {
                    "latitude": -23.504995,
                    "longitude": -46.498282
                },
                {
                    "latitude": -23.505813,
                    "longitude": -46.497989
                },
                {
                    "latitude": -23.505986,
                    "longitude": -46.4979
                },
                {
                    "latitude": -23.50618,
                    "longitude": -46.497763
                },
                {
                    "latitude": -23.506368,
                    "longitude": -46.497882
                },
                {
                    "latitude": -23.506625,
                    "longitude": -46.498025
                },
                {
                    "latitude": -23.50668540374243,
                    "longitude": -46.499140809791456
                }
            ]
        },
        {
            "distance": 681,
            "nominalDuration": 122,
            "averageSpeed": 20.1,
            "points": [
                {
                    "latitude": -23.50668540374243,
                    "longitude": -46.499140809791456
                },
                {
                    "latitude": -23.506716,
                    "longitude": -46.499706
                },
                {
                    "latitude": -23.506868,
                    "longitude": -46.499674
                },
                {
                    "latitude": -23.506996,
                    "longitude": -46.499642
                },
                {
                    "latitude": -23.507011,
                    "longitude": -46.499851
                },
                {
                    "latitude": -23.507045,
                    "longitude": -46.500116
                },
                {
                    "latitude": -23.507072,
                    "longitude": -46.500522
                },
                {
                    "latitude": -23.507717,
                    "longitude": -46.500408
                },
                {
                    "latitude": -23.507846,
                    "longitude": -46.500378
                },
                {
                    "latitude": -23.50791,
                    "longitude": -46.50036
                },
                {
                    "latitude": -23.507977,
                    "longitude": -46.500331
                },
                {
                    "latitude": -23.508232,
                    "longitude": -46.500178
                },
                {
                    "latitude": -23.508343,
                    "longitude": -46.50029
                },
                {
                    "latitude": -23.508603,
                    "longitude": -46.500606
                },
                {
                    "latitude": -23.508761,
                    "longitude": -46.50085
                },
                {
                    "latitude": -23.508798,
                    "longitude": -46.500916
                },
                {
                    "latitude": -23.508833,
                    "longitude": -46.500991
                },
                {
                    "latitude": -23.50888690756477,
                    "longitude": -46.501212952746116
                }
            ]
        }
    ],
    "source": "MAPLINK",
    "createdAt": 1620690601541
}`);


    const route1 = tripSolution.legs[0].points;
    maplink.line(route1, {
      color: "green"
    });
    const route2 = tripSolution.legs[1].points;
    maplink.line(route2, {
      color: "red"
    });


  </script>
</body>
</html>