Есть карта, на ней маркер векторный. координаты маркера изначально передаются из базы и имеют тип "EPSG:4326" на сколько я понимаю (45.03604888 и 37.9922891470) их я присваиваю полям txtX.ClientID и txtY.ClientID соответственно.
Далее я его рисую так:
Код: Выделить всё
var lonLat = new OpenLayers.LonLat(parseFloat($("#<%=txtX.ClientID %>").val()), parseFloat($("#<%=txtY.ClientID %>").val())).transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
marker = new OpenLayers.Geometry.Point(lonLat.lon, lonLat.lat);
feature = new OpenLayers.Feature.Vector(marker);
markerLayer.addFeatures(feature);
далее я вызываю самопальную функцию
getNewCoordinates();
где пытаюсь преобразовать координаты маркера обратно в тот формат в котором его надо записывать в базу
Код: Выделить всё
function getNewCoordinates() {
var coordinates = feature.geometry.getBounds().getCenterLonLat().transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
alert(coordinates.toString());
}
Подскажите что не так делаю?
Замечу что между markerLayer.addFeatures(feature); и getNewCoordinates(); я поставил alert, чтбы убедится что в текстовых полях правильные координаты (те что в базе)