JSFiddle - React, Tailwind, and code Playground

by kkobold

JavaScript

window.addMarker = function (lat, lng, title, id, type) {
     /* mark count */
     if ($('#gmaps').data('drop') < 0 || $('#gmaps').data('drop') == undefined) $('#gmaps').data('drop', 1);
     $('#gmaps').data('drop', $('#gmaps').data('drop') + 1);

     setTimeout(function () {
         var currentLL = [lat, lng];
         var already = $('#gmaps').data('stores');
         for (x in already) {
             if (already[x][0] == currentLL[0] && already[x][1] == currentLL[1]) return;
         }

         /* marker type */
         var mtype = null;
         if (type == 1) mtype = window.mapMarkerBlue;
         if (type == 2) mtype = window.mapMarkerGray;
         $('#gmaps').data('stores', $('#gmaps').data('stores').concat([currentLL]));
         $('#gmaps').gmap3({
             action: 'addMarker',
             latLng: [lat, lng],
             data: $('div [lat="' + lat + '"][long="' + lng + '"]').html(),
             options: {
                 draggable: false,
                 raiseOnDrag: false,
                 icon: mtype,
                 shadow: window.mapShadow,
                 shape: window.mapShape,
                 animation: google.maps.Animation.DROP,
                 title: title
             },
             events: {
                 mouseover: function (marker, event, data) {
                     var map = $(this).gmap3('get'),
                         infowindow = $(this).gmap3({
                             action: 'get',
                             name: 'infowindow'
                         });
                     if (infowindow) {
                         infowindow.open(map, marker);
                         infowindow.setContent(data);
                     } else {
                         $(this).gmap3({
                             action: 'addinfowindow',
                             anchor: marker,
                             options: {
                                 content: data
                             }
                  ...