Fix single marker positioning

This commit is contained in:
Tony Air 2020-03-19 23:47:49 +07:00
parent 91462819df
commit 0873f18478
1 changed files with 16 additions and 12 deletions

View File

@ -4,7 +4,7 @@ import $ from 'jquery';
import Events from '../../_events'; import Events from '../../_events';
import MarkerUI from './_map.google.marker'; import MarkerUI from './_map.google.marker';
const GoogleMapsDriver = (($) => { const GoogleMapsDriver = ($ => {
class GoogleMapsDriver { class GoogleMapsDriver {
getName() { getName() {
return 'GoogleMapsDriver'; return 'GoogleMapsDriver';
@ -39,13 +39,13 @@ const GoogleMapsDriver = (($) => {
const zoom = config['mapZoom'] ? config['mapZoom'] : 10; const zoom = config['mapZoom'] ? config['mapZoom'] : 10;
const center = config['center'] const center = config['center']
? { ? {
lat: config['center'][1], lat: config['center'][1],
lng: config['center'][0], lng: config['center'][0],
} }
: { : {
lat: 0, lat: 0,
lng: 0, lng: 0,
}; };
const style = config['style'] ? config['style'] : null; const style = config['style'] ? config['style'] : null;
console.log(`${ui.getName()}: API is loaded`); console.log(`${ui.getName()}: API is loaded`);
@ -124,7 +124,7 @@ const GoogleMapsDriver = (($) => {
$popup.find('.mapboxgl-popup-content .html').html(content); $popup.find('.mapboxgl-popup-content .html').html(content);
$popup.find('.mapboxgl-popup-close-button').on('click', (e) => { $popup.find('.mapboxgl-popup-close-button').on('click', e => {
e.preventDefault(); e.preventDefault();
ui.hidePopup(); ui.hidePopup();
}); });
@ -209,7 +209,7 @@ const GoogleMapsDriver = (($) => {
const bounds = new google.maps.LatLngBounds(); const bounds = new google.maps.LatLngBounds();
// add markers to map // add markers to map
config['geojson'].features.forEach((marker) => { config['geojson'].features.forEach(marker => {
const id = marker.id; const id = marker.id;
const crds = marker.geometry.coordinates; const crds = marker.geometry.coordinates;
const content = marker.properties.content; const content = marker.properties.content;
@ -227,9 +227,13 @@ const GoogleMapsDriver = (($) => {
}); });
}); });
ui.map.fitBounds(bounds, { if (ui.markers.length > 1) {
padding: 30, ui.map.fitBounds(bounds, {
}); //panToBounds padding: 30,
}); //panToBounds
} else {
ui.map.setCenter(ui.markers[0].position);
}
ui.default_bounds = bounds; ui.default_bounds = bounds;
ui.default_zoom = ui.map.getZoom(); ui.default_zoom = ui.map.getZoom();