Почему бы не попробовать прямое решение? Вместо расширения прототипа Number просто определите toRad как регулярную функцию:
function toRad(x) {
return x * Math.PI / 180;
}
, а затем вызовите toRad
всюду:
var dLat = toRad(lat2-lat1);
Расширение прототипа Number не всегда работает как и ожидалось. Например, вызов 123.toRad () не работает. Я думаю, что если вы делаете var x1 = lat2 - lat1; x1.toRad();
, работает лучше, чем (lat2-lat1).toRad()