Страница 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;