Почему иногда карта не рендерится, а просто серого цвета.
Чаще всего случается когда сначала открываешь карту toggleRestsMap = false
, потом показать рестораны toggleRestsMap = true
, а потом снова показать карту toggleRestsMap = false
В чем проблема ? Ошибок в консоли нету.
Код:
map = new google.maps.Map(document.querySelector(classMap), {
zoom: 4,
center: {lat: 0, lng: 0}
});
angular.forEach(rests, function (rest) {
var cuisines = '';
angular.forEach(rest.cuisines, function (cuisine) {
cuisines += cuisine.name + ', ';
});
var contentString = '<div id="content">'+
'<h1 id="firstHeading" class="firstHeading">' + rest.name + '</h1>'+
'<div id="bodyContent">'+
'<p><b>' + cuisines + '</b></p>'+
'</div>'+
'</div>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: new google.maps.LatLng(rest.lat, rest.lng),
map: map,
icon: image,
title: rest.name
});
marker.addListener('mouseover', function() {
infowindow.open(map, marker);
});
marker.addListener('mouseout', function() {
infowindow.close();
});
});
Шаблон:
<div ng-init="toggleRestsMap = true" class="search-object">
<a ng-click="toggleRestsMap = false" href="#showonmap" class="looking">
<span>{{::rest.lc.sh.t_show_on_map}}</span>
</a>
<a ng-click="toggleRestsMap = true" href="#showonmap" class="looking">
<span>СПИСОК</span>
</a>
<div class="search-content">
<form action="">
<input ng-model="searchRest" type="text" placeholder="{{::rest.lc.sh.t_search_rest}}">
</form>
</div>
</div>
<div ng-if="!toggleRestsMap" class="book-hotel">
<div class="row">
<map rests="rest.restsOnMap" styles="'map-rests'"></map>
</div>
</div>
<div ng-if="toggleRestsMap" class="book-hotel">
<div class="row">
<div ng-repeat="restaurant in rest.backRestaurants | filter:searchRest | startFrom:rest.pagination.currentPage*rest.pagination.pageSize | limitTo:rest.pagination.pageSize"
class="col-md-6 col-lg-4 col-sm-6">
<rest restaurant="restaurant"></rest>
</div>
</div>
</div>
Проблема решена при помощи такого способа: при каждом показе карты я вызываю
setTimeout(function () {
google.maps.event.trigger(map, 'resize');
}, 200);
Без setTimeout
проблема остается.
Виртуальный выделенный сервер (VDS) становится отличным выбором
у меня есть переменная var a которую нужно передать в datepicker datesDisabled: a
Есть массив с адресамиКак расставить точки на Yandex карте и отцентровать по ним? Казалось бы стандартная реализация, но ничего толкового найти...
Есть необходимость в WP в разных постах использовать картинки разного размерав function
ЗдравствуйтеУ меня в форме на JavaScript есть динамическое добавление поля input в форму