3

http://bit.ly/xkHPnUGoogle Map API v3 - IE7 - main.js ошибка - неверный аргумент (JavaScript)

Я смотрел на все вопросы синхронизации, и я не могу показаться, чтобы устранить эту ошибку. Происходит в IE7 и режимах совместимости как ошибка предупреждения.

Webpage error details 

User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0) 
Timestamp: Fri, 2 Mar 2012 21:58:06 UTC 


Message: Invalid argument. 
Line: 27 
Char: 56 
Code: 0 
URI: http://maps.gstatic.com/intl/en_us/mapfiles/api-3/7/12/main.js 

Нужен еще один набор глаз.

Спасибо.

+0

Итак, вы пытались что я объяснил в моем ответе? – Cheery

+0

@Cheery - см. Ниже - интересная проблема, но проблема решена. ;) – Jason

ответ

3

Проблема возникает в строке 27, здесь: e.minWidth=W(d). Результат W(d) равен '-12px', и IE не хочет устанавливать отрицательное значение для атрибута minWidth.

Отладка Далее я вижу, что этот код связан с рендерингом элементов управления картой. Более того, проблема имеет место только для переключателя между видами карты/спутника (значение переменная - «дорожная карта»). Также похоже, что код выполняется инициированным событием onchange, которое может быть связано с вкладками над картой. В качестве теста я удалил эти вкладки с помощью простого правила в Proxomitron и эта ошибка больше не появлялась.

Итак, попробуйте поместить эти вкладки в таком местоположении или в другом месте (например, с позицией для родительского div, установленной как относительная, и родительским элементом вкладки с абсолютной позицией и отрицательным значением атрибута css top), что часть под ними не изменят размер во время их инициализации (применяется к ним сценарий вкладок) или инициализируют вашу карту Google после их рендеринга (установите некоторую задержку).

+0

Спасибо за помощь. Я слишком долго смотрел на эту проблему. Нечетная проблема - в mapOptions я оставил 'mapTypeControlOptions:' пустым, и он по умолчанию использовал горизонтальную полосу, которая бросала ошибку. Но явным образом объявляя 'mapTypeControlOptions:', он исправил проблему. – Jason

+0

@Jason Эта одна из типичных проблем с API-интерфейсами :) Когда что-то пропущено или пропущено, это может привести к ошибке. Но у вас так много кода js, что я решил разобраться в причине и не проверять некоторые недостающие параметры. Но да, проблема возникла из-за изменения размера карты во время инициализации карты. – Cheery

3

установка как этот

mapTypeControl:true, 
mapTypeControlOptions: { 
    style: window.google.maps.MapTypeControlStyle.DROPDOWN_MENU 
} 

решит проблему.

0

эта проблема не разрешена с заданным решением.

Я использую две карты google и используя тот же файл jquery-1.4.1.min.js. Но когда я работаю индивидуально, он работает. Но при использовании двух карт. затем e.minWidth = x (D) с значениями -12px как одна и та же проблема stackoverflow. Итак, пожалуйста, предоставьте мне решение.

0

У меня такая же проблема в IE8. когда карта открыта и открытый режим отладки в IE всплывающее окно Недопустимый аргумент будет появляться

Я решается добавить «MapTypeControl» и «MapTypeControlOptions» как ответ на user2884829

var map = new google.maps.Map(document.getElementById('map_canvas'), { 
    zoom: 19, 
    center: latLng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    mapTypeControl: true, 
    mapTypeControlOptions: { 
     style: window.google.maps.MapTypeControlStyle.DROPDOWN_MENU 
    } 
}); 
Смежные вопросы