Страница 1 из 1

OpenLayers.Control.GetFeature - не в той проекции

Добавлено: 28 дек 2011, 18:44
Alone
Доброго дня.
Помогите понять ошибку.
Есть слой,

Код: Выделить всё

var proj_google = new OpenLayers.Projection("EPSG:900913");
var proj_4326 = new OpenLayers.Projection("EPSG:4326");
...

vectors = new OpenLayers.Layer.Vector("Vector_Layer", {
    projection:proj_4326
    rendererOptions:{zIndexing:true},
    renderers:renderer,
    strategies:[ saveStrategy ],
    protocol:new OpenLayers.Protocol.HTTP({
      url:"/test.xml",
      format:new OpenLayers.Format.GML({
        ignoreExtraDims:false,
        internalProjection:proj_google,
        externalProjection:proj_4326
      })
    })
  });
И есть контрол

Код: Выделить всё

controls = {
  gf:new OpenLayers.Control.GetFeature(
    {
      protocol:OpenLayers.Protocol.WFS({
        url:"/test.xml",
        readFormat:new OpenLayers.Format.GML(),
        featureType: 'vectors'
      }),
      box:true
  })
};
Загвоздка в том, что запрос на сервер уходит с координатами в проекции 900913, а не в 4326, как описано для слоя.
Как исправить ситуацию?
Благодарю заранее..

Re: OpenLayers.Control.GetFeature - не в той проекции

Добавлено: 30 дек 2011, 07:42
Denis Rykov
А слой 'vectors' уже присутствует на карте?

Re: OpenLayers.Control.GetFeature - не в той проекции

Добавлено: 03 янв 2012, 12:13
Alone
Да. Присутствует.. Я просто привел фрагменты кода.

Re: OpenLayers.Control.GetFeature - не в той проекции

Добавлено: 03 янв 2012, 13:14
Denis Rykov
Я к чему спросил, если слой уже есть на карте, может и атрибутика присутствует и не стоит выполнять запрос к серверу?

Re: OpenLayers.Control.GetFeature - не в той проекции

Добавлено: 03 янв 2012, 13:53
Alone
Данные на слой ползут только для выделеной области. И соотв. только по запросу.