Here's a page with the issueProblème avec argument invalide lors du passage des onglets à base jQueryUI
Pour reproduire l'erreur, en utilisant IE - cliquez sur l'onglet directions, puis tous les autres.
Ce que je suis en train de faire est la suivante:
Sur chargement de la page, ne rien faire vraiment. Cependant, lorsque l'onglet directions se charge, configurez la carte. Comme si:
$('#tabs').bind('tabsshow', function(event, ui) {
if (ui.panel.id == "tabs-5") {
// get map for directions
var dirMap = new GMap2($("div#dirMap").get(0));
dirMap.setCenter(new GLatLng(35.79648921414565,139.40663874149323), 12);
dirMap.enableScrollWheelZoom();
dirMap.addControl(new PanoMapTypeControl());
geocoder = new GClientGeocoder();
$("#dirMap").resizable({
stop: function() { dirMap.checkResize(); }
});
// clear dirText
$("div#dirMapText").html("");
dirMap.clearOverlays();
var polygon = new GPolygon([new GLatLng(35.724496338474104,139.3444061279297),new GLatLng(35.74748750802863,139.3363380432129),new GLatLng(35.75765724051559,139.34303283691406),new GLatLng(35.76545779822543,139.3418312072754),new GLatLng(35.767547103447725,139.3476676940918),new GLatLng(35.75835374997911,139.34955596923828),new GLatLng(35.755149755962755,139.3567657470703),new GLatLng(35.74679090345495,139.35796737670898),new GLatLng(35.74762682821177,139.36294555664062),new GLatLng(35.744422402303826,139.36346054077148),new GLatLng(35.74860206266584,139.36946868896484),new GLatLng(35.735644401200986,139.36843872070312),new GLatLng(35.73843117306677,139.36174392700195),new GLatLng(35.73592308277646,139.3531608581543),new GLatLng(35.72686543236113,139.35298919677734),new GLatLng(35.724496338474104,139.3444061279297)], "#f33f00", 5, 1, "#ff0000", 0.2);dirMap.addOverlay(polygon);
// load directions
directions = new GDirections(dirMap, $("div#dirMapText").get(0));
directions.load("from: [email protected],139.37083393335342 to: Ruby [email protected],139.40663874149323");
}
});
Que diable est à l'origine de l'erreur? Le débogueur javascript IE prétend que l'erreur réside dans main.js, ligne 139 caractère 28. (le fichier google maps api). Quelle est cette ligne:
function zf(a,b){a=a.style;a.width=b.getWidthString();a.height=b.getHeightString()}
Des idées? Merci d'avance!
@Mark J'espérais tellement que c'était le problème ... Je l'ai essayé, mais pas de solution. Le problème ne se pose que lorsque l'onglet est sélectionné, puis un autre onglet est sélectionné. Presque comme s'il y avait une sorte de "nettoyage" qui ne se produisait pas (du côté de Google Maps). Je ne peux pas trouver un événement "tabhide" que je pourrais raccorder pour "nettoyer" les cartes lorsque l'onglet est déchargé ...; ( – Chaddeus
Bonjour Tchad, J'ai copié la source de la page, ajouté un tag et ajouté le correctif à l'intérieur d'un