OpenLayers создание зоны (точка с радиусом)

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
kau
Интересующийся
Сообщения: 19
Зарегистрирован: 23 дек 2011, 11:26
Репутация: 0

OpenLayers создание зоны (точка с радиусом)

Сообщение kau » 23 дек 2011, 11:34

Здравствуйте. Не нашел, как в OpenLayers можно создать зону типа круг. Так, чтобы при изменении масштаба карты, соответственно менялся и размер зоны. Если создавать, так:

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

new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(x, y));
- получаем обычный круг, который не меняет свои размеры в зависимости от масштаба. Может быть кто-то подскажет, как это делается в OpenLayers?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: OpenLayers создание зоны (точка с радиусом)

Сообщение Denis Rykov » 23 дек 2011, 12:59

Нужно использовать не точечную фичу, а полигон, думаю эта функция вам поможет.
Spatial is now, more than ever, just another column- The Geometry Column.

kau
Интересующийся
Сообщения: 19
Зарегистрирован: 23 дек 2011, 11:26
Репутация: 0

Re: OpenLayers создание зоны (точка с радиусом)

Сообщение kau » 23 дек 2011, 13:31

Denis Rykov писал(а):Нужно использовать не точечную фичу, а полигон, думаю эта функция вам поможет.
Спасибо, посмотрю, но похоже это то, что нужно.

kau
Интересующийся
Сообщения: 19
Зарегистрирован: 23 дек 2011, 11:26
Репутация: 0

Re: OpenLayers создание зоны (точка с радиусом)

Сообщение kau » 30 дек 2011, 15:19

Создаю круг с помощью OpenLayers.Geometry.Polygon.createRegularPolygon - все работает. Теперь вопрос в другом - как после редакции этого круга с помощью OpenLayers.Control.ModifyFeature узнать измененный радиус? Как вообще получить радиус круга, созданного таким образом?

kau
Интересующийся
Сообщения: 19
Зарегистрирован: 23 дек 2011, 11:26
Репутация: 0

Re: OpenLayers создание зоны (точка с радиусом)

Сообщение kau » 11 янв 2012, 15:12

Никто не подскажет?

kau
Интересующийся
Сообщения: 19
Зарегистрирован: 23 дек 2011, 11:26
Репутация: 0

Re: OpenLayers создание зоны (точка с радиусом)

Сообщение kau » 11 янв 2012, 16:03

Нашел - вроде бы так надо:

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

radius = feature.geometry.getBounds().getWidth()/2;

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя