私はangularjsを使用していますが、Googleマップから地図を表示しているディレクティブを表示して削除するにはng-ifを使用していますが、そのディレクティブを削除して再度地図を表示するたびにロードしてグレーになります。誰もが任意のideiaを持っているか、この問題を解決する方法を知っていますか?Googleマップを非表示にする
これは、アコーディオンコードです:
<uib-accordion close-others="oneAtATime">
<uib-accordion-group ng-repeat="mission in missions" is-open="status.open">
<uib-accordion-heading >
<div class="noOutline">
<i class="fa fa-map-o fa-2x pull-left"></i>
{{mission.description}}
{{status.open}}
</div>
</uib-accordion-heading>
<missions-Map id='map' missionId='20' ng-if="status.open"></missions-Map>
</uib-accordion-group>
</uib-accordion>
これは、ディレクティブコードです:
angular.module("dronesIntershipProject").directive('missionsMap', function() {
var opened = false;
return {
restrict: 'E',
template: "<div></div>",
replace: true,
link: function(scope, element, attrs) {
console.log(attrs.ngIf);
var myLatLng = new google.maps.LatLng(20,20);
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
scrollwheel: true,
zoom: 8
});
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: "My Marker"
});
marker.setMap(map);
document.getElementById('map').removeAttribute("ng-if");
console.log(element);
}
}
はい私は試しましたが、アコーデオンを閉じてもう一度開いた後に表示するのではなく、地図が正しく読み込まれていないことがあります。 –
おそらく、この指示を使ってカスタムCSSクラスを適用し、それを隠すことができますか?私はこれが[ここ](https://stackoverflow.com/questions/4700594/google-maps-displaynone-problem)で行われたという質問を見つけました。 'display:none;'を使って要素を隠しているように見えますが、 'ngIf'の問題の一部であるかもしれないGoogle Mapsにいくつかの問題が発生している可能性があります。 – Dexter