J'essaie de masquer l'élément bascule plein écran dans le HUD de l'API Streetview.
panorama = new google.maps.StreetViewPanorama(document.getElementById(data.id), {
position : new google.maps.LatLng(data.lat, data.lng),
pov: {
heading : Number(data.heading),
pitch : Number(data.pitch)
},
linksControl: false,
panControl: false,
addressControl: false,
enableCloseButton: false,
zoomControl: false,
fullScreenControl: false,
enableCloseButton: false,
addressControlOptions: {
position: google.maps.ControlPosition.BOTTOM_CENTER
}
});
Ces options sont spécifiées ici . Toutes les options fonctionnent sauf pour le fullScreenControl
Mon code peut être consulté en direct ici . L'élément d'interface utilisateur se trouve dans le coin supérieur droit de la fenêtre.
La documentation met en garde comme suit:
Remarque: Cette page décrit les contrôles disponibles dans les versions 3.22 et ultérieures de l'API JavaScript de Google Maps. Si vous souhaitez continuer à utiliser le jeu de contrôles précédent pendant un certain temps, vous pouvez définir google.maps.controlStyle = 'azteca' dans la version 3.22. En savoir plus sur les modifications apportées aux contrôles dans cet article: Quoi de neuf dans les contrôles de carte v3.22.
Cependant, je crée un lien vers le fichier API Js comme suit:
<script src="//maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
Et 3.exp devrait être 3.22 au moment de la rédaction.
Qu'est-ce que j'oublie ici?
Une autre solution consiste à utiliser css pour masquer l'élément plein écran:
.gm-style > div:nth-child(10){
display:none;
}
fullscreenControl: false
au lieu de fullScreenControl: false
Ce qui suit est incorrect. Il ne fait pas d'erreur mais n'a aucun effet sur le contrôle.
fullScreenControl: false, -- this is not right
Le bon code est
fullscreenControl: false,
Voir: https://developers.google.com/maps/documentation/javascript/reference
Je crois qu'il y a une faille mineure dans l'API en ce moment. J'ai fait quelques tests et j'ai également été incapable de supprimer le contrôle plein écran avec le champ fullScreenControlOptions, comme spécifié dans la documentation.
Le contrôle plein écran s'affiche même si vous définissez disableDefaultUI sur true.
Je sais que ce n'est peut-être pas la meilleure façon de se débarrasser de l'élément, mais vous pouvez faire quelque chose comme:
var FULL_SCREEN_CONTROL_STYLE = {
width: '25px',
height: '25px',
top: '0px',
right: '0px',
position: 'absolute',
overflow: 'hidden'
};
var children = panorama.getContainer().getElementsByTagName('div');
for (var i = 0; i<children.length; i++) {
var current = children[i];
var match = true;
for (var k in FULL_SCREEN_CONTROL_STYLE) {
if (current.style[k] != FULL_SCREEN_CONTROL_STYLE[k]) {
match = false;
}
}
if (match) { // THIS IS OUR ELEMENT
current.parentElement.removeChild(current);
}
}
Michal Szyndel a raison. Le s dans l'écran est en minuscules. Je suggère que sa réponse soit remplacée par la bonne réponse. J'ai testé aujourd'hui fullscreenControl fonctionne mais fullScreenControl ne fonctionne pas.