Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с передачей числа (https://javascript.ru/forum/misc/3031-problema-s-peredachejj-chisla.html)

konstantinopol 11.03.2009 18:50

Проблема с передачей числа
 
При таком раскладе всё работает отлично
map.setCenter(new GLatLng(52.132633,5.291266,4.741324,9.88769), 6);


Но если я пытаюсь записать переменные а не константы то ничего не получается.
var x = "52.132633,5.291266";
var y = "4.741324,9.88769";

map.setCenter(new GLatLng(x,y), 6);


52.132633,5.291266 и 4.741324,9.88769 отдельные числа(координаты)

Такой расклад тоже ничего не даёт
map.setCenter(new GLatLng((x),(y)), 6);


В чем может быть проблема???

Gvozd 11.03.2009 19:03

вот так должно работать
var x = 52.132633,5.291266;
var y = 4.741324,9.88769;
 
map.setCenter(new GLatLng(x,y), 6);

а вообще, почитайте эту статью

Kolyaj 11.03.2009 19:12

Цитата:

Сообщение от Gvozd
вот так должно работать

С чего бы это?

Конструктору GLatLng передаются 4 параметра, передать ему 2 не получится.

Gvozd 11.03.2009 19:18

да, что-то тупанул ЧТО в строчках.решил,что функция из тех, что принимают переменное количество параметров.
konstantinopol, прочитайте вдобавок еще и это. с помощью регулярок разбейте переменные на две части, и уже в нормальном виде, приведя к числу, передавайте функции

konstantinopol 11.03.2009 19:18

Так работает, но хотелось бы чтобы было 2 а не 4 переменные

var x1 = 52.132633;
var x2 = 5.291266;
var y1 = 4.741324;
var y2 = 9.88769;

map.setCenter(new GLatLng(x1,x2,y1,y2), 6);

Gvozd 11.03.2009 19:23

Цитата:

Сообщение от konstantinopol
хотелось бы чтобы было 2 а не 4 переменные

а с чем вызвано такое желание?

konstantinopol 11.03.2009 19:31

Это потому что я пытаюсь интегрировать google map с формуляром. И введя zip_code в формуляре и нажав button функзия должна определить 2 координаты(те которые я разбил на 4). Просто нехотелось бы ещё разбивать их. Хотя с функцией у меня щас тоже проблема и я незнаю в каком виде будут поступать координаты.

AzriMan 12.03.2009 09:52

var x[1] = 52.132633;
var x[2] = 5.291266;
var y[1] = 4.741324;
var y[2] = 9.88769;
 
map.setCenter(new GLatLng(x[1],x[2],y[1],y[2]), 6);


вот тебе две "переменные" :)
а вообще, по твоему вопросу - никак ты 2мя переменными не обойдешься. ты передаешь параметры - числа. а в случае
var x = "52.132633,5.291266";
var y = "4.741324,9.88769";
- это строки.

ты можешь дописать свой метод:
var x[1] = 52.132633;
var x[2] = 5.291266;
var y[1] = 4.741324;
var y[2] = 9.88769;

map.setCenter_my(new GLatLng(x,y), 6);


и он уже будет подставлять значения массива. но передать ТАК как ты хочешь - нельзя. var y = "4.741324,9.88769"; воспримется строкой из чисел и "," будет обычной запятой, а не разделением параметров.


Часовой пояс GMT +3, время: 17:00.