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

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

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

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

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

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

Добавлено: 23 дек 2011, 12:59
Denis Rykov
Нужно использовать не точечную фичу, а полигон, думаю эта функция вам поможет.

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

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

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

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

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

Добавлено: 11 янв 2012, 15:12
kau
Никто не подскажет?

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

Добавлено: 11 янв 2012, 16:03
kau
Нашел - вроде бы так надо:

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

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