Клуб API Карт

Загркзка координат центра из input type="text"

Пост в архиве.

Пожалуйста кто нибудь помогите реализовать задуманое:

 

Есть некий <input type="text" name="koordinaty" /> и на этой же странице есть Карта.

Так вот, как сделать чтобы (при загрузке страницы) координаты центра брались из этой строки для ввода текста (из значения value="") если строка не пустая, а ести строка пустая подставлялось значение поумолчанию.

7 комментариев

вроде ничего сложного, а что именно не получается?

Александр Новиков
28 января 2016, 05:18
Что делали?
Что не получилось?

Именно то что написал и не получается, вернее просто незнаю как это сделать - языками практически не владею :(

Я реализовываю возможность сохранения координат для определенных страниц при их создании (чтобы потом выводить метку на карте для каждой страницы на своем месте) с возможностью последующей правки этих координат.

Так вот готово уже следующее:

// Метка, отмечающая центр карты
var centerPlacemark = new YMaps.Placemark(map.getCenter(), {
style : {
iconStyle : {
href : "http://api.yandex.ru/i/maps/icons/center.gif",
size : new YMaps.Point(16, 16),
offset : new YMaps.Point(-8, -8)
} },
interactive : YMaps.Interactivity.NONE});
map.addOverlay(centerPlacemark); 

 // Перемещение метки в центр при любом сдвиге карты
// Запись координат центра в строку координат
YMaps.Events.observe(map, [map.Events.Move, map.Events.BoundsChange], function () {
centerPlacemark.setGeoPoint(map.getCenter());
  YMaps.jQuery(':input[name="koordinaty"]').val(map.getCenter());
}); 

Сохранение координат происходит следующим образом - метка статична и всегда в центре а перемещается сама карта так чтобы необходимое нам место стало под меткой Вовремя перемещения карты координаты центра записываются в строку потом просто сохраняется значение этой строки и координаты метки сохранены.

Осталось сделать чтобы при открытии страницы уже имеющей сохраненные координаты для редактирования центр карты автоматически перемещался на эти координаты ну а если строка с координатами пуста то центр становился по указанным поумолчанию координатам.

 

Я понимаю что тут всего то одна или две строчки но вот никак не получается это реализовать.

а где тот код что создает и центрирует карту?

Создание и центрирование стандартными методами

Вот полный код:







 

вместо

 

map.setCenter(new YMaps.GeoPoint(00.1111111,00.1111111), 15);

 

нужно

 

var center = YMaps.jQuery(':input[name="koordinaty"]').val() || "00.1111111,00.1111111";
map.setCenter(YMaps.GeoPoint.fromString(center), 15);

Спасибо большое всё работает !!!

(+1)(B)