Daha çox

OpenLayers -də Tıkla Dairə və İşaretçi yaradın

OpenLayers -də Tıkla Dairə və İşaretçi yaradın


Xəritədə klik hadisəsində müəyyən bir radiusda bir marker və bufer yaratmaq istəyirəm. Marker uğurla göstərilir, lakin çoxbucaqlı göstərilmir. Güman edirəm ki, proyeksiya qəbulunda problem var. Xəritəm üçün proyeksiya parametrləri.

proyeksiya: yeni OpenLayers.Projection ("EPSG: 900913"), displayProjection: yeni OpenLayers.Projection ("EPSG: 4326")

Hadisə idarəçisi aşağıdadır.

{radius = 3000; var tərəfləri = 50; if (! markersLayer) {markersLayer = yeni OpenLayers.Layer.Markers ("İşaretleyiciler"); bufferLayer = yeni OpenLayers.Layer.Vector ("Tampon Layer"); map.addLayer (markersLayer); map.addLayer (bufferLayer); } mövqe = map.getLonLatFromPixel (e.xy); // Marker yaradın var size = new OpenLayers.Size (15, 15); var ofset = yeni OpenLayers.Pixel ( - (size.w / 2), -size.h); var icon = yeni OpenLayers.Icon (iconURL, ölçü, ofset); var marker = yeni OpenLayers.Marker (mövqe, simge); // Təmizləmə İşarələri İlk markersLayer.clearMarkers (); markersLayer.addMarker (işarə); // Polygon var dairəsi yaradın = new OpenLayers.Geometry.Polygon.createRegularPolygon (mövqe, radius, tərəflər, 0); var CircleFeature = yeni OpenLayers.Feature.Vector (dairə); var CircleFeatures = []; dairəFeatures.push (dairəFeature); // Təmizləmə Xüsusiyyətləri İlk bufferLayer.removeAllFeatures (); bufferLayer.addFeatures (dairə Xüsusiyyətləri); }

Http://osgeo-org.1560.x6.nabble.com/new-OpenLayers-Geometry-Polygon-createRegularPolygon-td3969939.html görə

http://dev.openlayers.org/releases/OpenLayers-2.10/doc/apidocs/files/OpenLayers/Geometry/Polygon-js.html#OpenLayers.Geometry.Polygon.createRegularPolygon, bir nöqtə həndəsəsini təhvil verməlisiniz.

Nöqtənin koordinatları funksiyanın gözlədiyi kimi deyil.

OpenLayers -ə müraciət edə bilərsiniz - CreateRegularPolygon istifadə edərək bir dairə çəkə bilməzsiniz və OpenLayers -də əvvəlcədən təyin edilmiş uzunluğa malik bir çoxbucaq necə çəkmək olar? iş nümunələri üçün.