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