Files
gonoware-laravel-maps/resources/js/utils/parser.js
Emanuel Mutschlechner 206beb1655 wip
2018-08-30 13:58:13 +02:00

58 lines
1.1 KiB
JavaScript
Vendored

import {logError} from "./helper";
const parseMap = element => JSON.parse(
element.dataset.mapGoogle
|| element.dataset.mapOsm
|| element.dataset.mapBing
|| element.dataset.mapMapquest
|| element.dataset.mapYandex
|| element.dataset.mapMapkit
);
const parseService = element => {
const {key, type} = JSON.parse(element.dataset.mapService);
return {
key,
type,
}
};
const parseMarkers = element => {
const markers = JSON.parse(element.dataset.mapMarkers) || [];
return markers.map(marker => {
const lat = parseFloat(marker.lat);
const lng = parseFloat(marker.lng);
const {title, url} = marker;
return {
title,
lat,
lng,
url,
};
});
};
export default {
map(element) {
try {
const map = parseMap(element);
const lat = parseFloat(map.lat);
const lng = parseFloat(map.lng);
const zoom = parseInt(map.zoom);
const service = parseService(element);
const markers = parseMarkers(element);
return {
lat,
lng,
zoom,
service,
markers,
};
} catch (e) {
logError(e);
}
},
}