У меня карта появляется на веб-странице только после нажатия на ссылку.
Это код, который загружает карты js SDK:
if($('#gmaps-script').length == 0) {
var tag = document.createElement('script');
tag.id = 'gmaps-script';
tag.src = 'https://maps.googleapis.com/maps/api/js?client=XXXXXXXXXXXX&channel=XXXXXXXXXXXXX';
tag.async = '';
tag.defer = '';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
Картазатем создается с помощью события onClick()
, вызывающего showMap()
с довольно простым кодом ...
showMap() {
const mapElement = $(this.$element.data('click-to-map'));
const map = new google.maps.Map(mapElement.get(0), {
zoom: 15
});
const geocoder = new google.maps.Geocoder();
this.showAddress(this.$element.data('address'), geocoder, map);
mapElement.show();
}
showAddress(address, geocoder, map) {
geocoder.geocode({'address': address}, function(results, status) {
if (status === 'OK') {
map.setCenter(results[0].geometry.location);
const marker = new google.maps.Marker({
map: map,
scaledSize: new google.maps.Size(150, 150), // scaled size
icon: '/img/marker.svg',
position: results[0].geometry.location
});
}
});
}
Код хорошо работает на Chrome Desktop, Firefox, Safari iOS и т. д. ... Также с adblocks,но не отображается в Chrome для Android (версия 70.0.3538.110).
Никаких ошибок или странного поведения, только карта, появляющаяся при нажатии и полностью пустая.Удаленная отладка не показывает никаких ошибок.
Как я могу выяснить, что происходит ???