IE8 возвращает NaN - PullRequest
       6

IE8 возвращает NaN

1 голос
/ 04 ноября 2011

По какой-то причине в Internet Explorer 8 (и, возможно, 7) следующий раздел кода не работает, есть идеи?

var middlelatlong = bounds.getCenter();

//when alerted middlelatlong = (51.65494320798432,0.5499464196260533);

var x = 0;
var keys = new Array();
for(var key in middlelatlong){
    if(x <= 1){
        keys[x] = key;
    }
    x++;
}

var southlong = middlelatlong[keys[0]]-0.00017;

Возвращает NaN в Internet Explorer 8, но во всех других браузерахэто равно 51.654790472326724.

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

Я не знаю, чего вы пытаетесь достичь с помощью своего кода, но я предполагаю, что middlelatlong[keys[0]] возвращает что-то, что не является числом.

Похоже, вы используете API Карт Google ичто вы хотите получить доступ к широте части координат.Вам следует правильно прочитать документ и использовать API для доступа к информации, а не пытаться извлекать информацию.

Если getCenter относится к описанному здесь методу , затем возвращает объект LatLng.Вы можете получить доступ к широте с помощью lat(), затем (или, если вы хотите использовать долготу, используйте lng()):

var southlong = bounds.getCenter().lat() - 0.00017;

Ваша проблема в том, что вы делаете предположения о порядке, в которомСвойства объекта просматриваются, но этот порядок не определен, это зависит от реализации.Таким образом, вы не можете сказать, что первые два свойства будут координатами, у объекта есть и другие свойства, которые могут быть переданы первыми в IE.

1 голос
/ 04 ноября 2011

В первой строке я думаю, что вы имеете в виду:

middlelatlong = [51.65494320798432,0.5499464196260533];

Также в цикле for просто используйте регулярные итерации и приращения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...