1
0
mirror of https://github.com/tabler/tabler.git synced 2025-12-22 01:44:25 +04:00
Files
tabler/_includes/js-google-maps.html
2018-02-19 20:17:04 +01:00

65 lines
3.1 KiB
HTML

{% removeemptylines %}
{% assign data-id = include.data | default: 'default' %}
{% assign data = site.data.maps[data-id] %}
{% if data %}
<script>
require(['{{ site.google-maps-url }}', 'jquery'], function (maps, $) {
$(document).ready(function(){
var myLatlng = new google.maps.LatLng({lat: {{data.center[0] }}, lng: {{data.center[1] }}});
var mapOptions = {
zoom: {{data.zoom | default: 9 }},
center: myLatlng,
streetViewControl: false,
mapTypeControl: false,
scaleControl: false,
zoomControl: false,
fullscreenControl: false,
gestureHandling: 'none',
{% if data.custom-styles %}
styles: [
{"featureType": "water","elementType": "geometry","stylers": [{"color": "#e9e9e9"},{"lightness": 17}]},{"featureType": "landscape","elementType": "geometry","stylers": [{"color": "#f5f5f5"},{"lightness": 20}]},{"featureType": "road.highway","elementType": "geometry.fill","stylers": [{"color": "#ffffff"},{"lightness": 17}]},{"featureType": "road.highway","elementType": "geometry.stroke","stylers": [{"color": "#ffffff"},{"lightness": 29},{"weight": 0.2}]},{"featureType": "road.arterial","elementType": "geometry","stylers": [{"color": "#ffffff"},{"lightness": 18}]},{"featureType": "road.local","elementType": "geometry","stylers": [{"color": "#ffffff"},{"lightness": 16}]},{"featureType": "poi","elementType": "geometry","stylers": [{"color": "#f5f5f5"},{"lightness": 21}]},{"featureType": "poi.park","elementType": "geometry","stylers": [{"color": "#dedede"},{"lightness": 21}]},{"elementType": "labels.text.stroke","stylers": [{"visibility": "on"},{"color": "#ffffff"},{"lightness": 16}]},{"elementType": "labels.text.fill","stylers": [{"saturation": 36},{"color": "#333333"},{"lightness": 40}]},{"elementType": "labels.icon","stylers": [{"visibility": "off"}]},{"featureType": "transit","elementType": "geometry","stylers": [{"color": "#f2f2f2"},{"lightness": 19}]},{"featureType": "administrative","elementType": "geometry.fill","stylers": [{"color": "#fefefe"},{"lightness": 20}]},{"featureType": "administrative","elementType": "geometry.stroke","stylers": [{"color": "#fefefe"},{"lightness": 17},{"weight": 1.2}]},
]
{% endif %}
};
map = new google.maps.Map(document.getElementById('{{ include.id }}'), mapOptions);
{% if data.points %}
var mapPathCoordinates = [
{% for point in data.points %}
{lat: {{ point[0] }}, lng: {{ point[1] }}}{% unless forloop.last %},{% endunless %}
{% endfor %}
];
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < mapPathCoordinates.length; i++) {
var marker = new google.maps.Marker({
position: mapPathCoordinates[i],
icon: {
path: google.maps.SymbolPath.CIRCLE,
scale: 2,
fillColor: '#fff',
strokeColor: tabler.colors.{{ data.path-color | default: 'red' }},
},
map: map
});
bounds.extend(mapPathCoordinates[i]);
}
map.fitBounds(bounds);
var mapPath = new google.maps.Polyline({
path: mapPathCoordinates,
geodesic: true,
strokeColor: tabler.colors.{{ data.path-color | default: 'red' }},
strokeOpacity: 1.0,
strokeWeight: 3
});
mapPath.setMap(map);
{% endif %}
});
});
</script>
{% endif %}
{% endremoveemptylines %}