Карты Google устанавливают масштаб от скрытого значения ввода - PullRequest
2 голосов
/ 11 февраля 2010

У меня есть форма со скрытым вводом, которая сохраняет текущий уровень масштабирования пользователя

<input type="hidden" name="zoom" value="15" id="zoom" /> <!-- default value="" -->

Однако, когда я пытаюсь использовать значение масштабирования из ввода после отправки формы, оно не использует значение ввода

var zoom = $("#zoom").val();
var point;
var gmap = new GMap2(document.getElementById("gmap"));

if (zoom == "") {
    point = new google.maps.LatLng(latitude,longitude);
    gmap.setCenter(point, 13);
} else {
    console.log(zoom); //shows 15
    point = new google.maps.LatLng(latitude,longitude);
    gmap.setCenter(point, zoom); //here the zoom is undefined
}

1 Ответ

4 голосов
/ 11 февраля 2010

Значением 'zoom' из поля ввода является строка , а для функции требуется число . Используйте parseInt() для приведения значения поля к числовому значению.

var zoom = parseInt($("#zoom").val());
var point;
var gmap = new GMap2(document.getElementById("gmap"));
// point assignment is abstracted from your zoom level logic
point = new google.maps.LatLng(latitude,longitude);

gmap.setCenter(point, (typeof zoom == 'number') ? zoom : 13);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...