Клуб API Карт

Взять координаты центра карты из input

notzevs
8 апреля 2011, 23:21

Не могу вытащить с помощью jquery либо js координаты из инпута при загрузке документа и при клике на кнопку, ничего не выходит.

Карта смещается в океан. Подскажите, как это правильно сделать?

 

<?$row['coordinates']="30.518474,50.468465";?>

<input type="text" maxlength="50" name="coordinates" id="coordinates" value="<?echo $row['coordinates']?>"/>

<script type="text/javascript">

window.onload = function () {
                    var coord = $("#coordinates").val();  
                    var map = new YMaps.Map(document.getElementById("YMapsID"));
                    map.setCenter(new YMaps.GeoPoint(coord ), 15);
                    map.addControl(new YMaps.Zoom());
                                        
                    var s = new YMaps.Style();
                    s.iconStyle = new YMaps.IconStyle();
                    s.iconStyle.href = "/image/metka.png";
                    s.iconStyle.size = new YMaps.Point(40, 38);
                    s.iconStyle.offset = new YMaps.Point(-15, -33);
            
                    var placemark = new YMaps.Placemark(new YMaps.GeoPoint(coord ), {style: s, draggable: true});
                    map.addOverlay(placemark); 
                   
                    YMaps.Events.observe(placemark, placemark.Events.Drag, function (mEvent) {
                           $("#coordinates").val(mEvent.getGeoPoint().toString());
                    });
                }

</script>

 

2 комментария
Подписаться на комментарии к посту

У вас какая-то каша. Раз уж используете jQuery зачем нужны

window.onload и document.getElementById?

 

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

Конструктор YMaps.GeoPoint ожидает на вход lng и lat, а не строку.

 

map.setCenter(YMaps.GeoPoint.fromString(coord), 15);

 

 

Спасибо, решение помогло,

исправил кашу)).

заодно почитал подробнее про конструктор