Alexandre, thanks again for your valuable help!
At the moment the best idea would be to have vector points as markers, which would make them both clickable and perfect for what I need to do. I have added this info to the vector layer: vectors = new OpenLayers.Layer.Vector('Vectors', { styleMap: new OpenLayers.StyleMap({ externalGraphic: "images/markers/marker-gold.png", pointRadius: 10 }) }); And the point appears correctly with the marker icon. But I have run into 2 problems now: 1) All my polygons and lines appear black or invisible 2) I would like to use more than one image for the markers My controls looks like this: controls = { point: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Point), line: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Path), polygon: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Polygon), drag: new OpenLayers.Control.DragFeature(vectors), select: selectControl }; Is there a way to maybe pass the external image specifically to the "point" control? I am unsure about the syntax and I wasn't able to find any info around, maybe something like this: point: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Point, {style: blah blah}), If it's possible, then that solves my 2nd problem as well for different images. Thanks in advance! Best regards, Alex On Thu, Feb 4, 2010 at 8:26 PM, Alexandre Dube <ad...@mapgears.com> wrote: > Alex, > > Take a look at this example [1]. Vector features can be used with a > SelectFeature control to open popups. You only need to define the > externalGraphic to have images and define the geometry type to "point". See > an other example of "draw" types. > > You might be interested to take a look at this example [3] too (it's a > development sandbox for a RedLining widget in GeoExt). It uses a lot of > OpenLayers components to draw/select the features. Maybe that can helps > too. > > Kind regards, > > Alexandre > > [1] http://openlayers.org/dev/examples/select-feature-openpopup.html > [2] http://openlayers.org/dev/examples/draw-feature.html > [3] > http://dev.geoext.org/sandbox/redlining/ux/FeatureEditing/examples/ControlerOnlyExample.html > > > Alex G. wrote: > >> Alexandre, >> >> thanks for your thoughts. Although if I understand what you're saying and >> the example correctly, this will not make the markers to pop up with bubbles >> where I can put text. >> >> I am currently placing markers with text on them where if you click on the >> marker a little bubble will appear. >> >> Here's another snippet that I forgot to include: >> >> var click = new OpenLayers.Control.Click(); >> map.addControl(click); >> click.activate(); >> var new2 = new OpenLayers.Layer.Text( 'Texts', { layerToUse: >> markers, newLat: '4188741.7304207', newLon: '217101.58694106', newTitle: >> "Title1", newDesc: "Desc1", idUser : '62', userName: 'admin', newIcon: >> 'images/markers/marker.png'} ); >> new2.parseData(); >> var new3 = new OpenLayers.Layer.Text( 'Texts', { layerToUse: >> markers, newLat: '4182021.7304207', newLon: '210801.58694106', newTitle: >> "Title2", newDesc: "Desc2", idUser : '62', userName: 'admin', newIcon: >> 'images/markers/marker-blue.png'} ); >> new3.parseData(); >> var new4 = new OpenLayers.Layer.Text( 'Texts', { layerToUse: >> markers, newLat: '4179441.7304207', newLon: '219681.58694106', newTitle: >> "Title3", newDesc: "Desc3", idUser : '62', userName: 'admin', newIcon: >> 'images/markers/marker.png'} ); >> new4.parseData(); >> I am not quite sure what that click function does, could it be the >> culprit? >> >> I have used this example as a base: >> http://dev.openlayers.org/releases/OpenLayers-2.8/examples/markers.html >> The thing is I use a form also to create new bubbles where users can enter >> a title, marker icon and description and get a result similar to the above. >> >> Thanks again, >> >> Alex >> >> On Thu, Feb 4, 2010 at 3:34 PM, Alexandre Dube <ad...@mapgears.com<mailto: >> ad...@mapgears.com>> wrote: >> >> Alex, >> >> I just looked at the SelectFeature control code and I think you >> could try this solution : >> >> Change you Marker layer for a Vector one (you can define >> externalGraphic to a vector feature, see an example [1]) and then >> configure your SelectFeature control with both your layers : >> >> var select = new OpenLayers.Control.SelectFeature([vectors, >> markers], options); >> >> The SelectFeature control will create a RootContainer layer >> object enabling selection on both at the same time, thus fixing >> your issue. Please, tell me if that worked. >> >> Hope this helps, >> >> Alexandre >> >> [1] http://openlayers.org/dev/examples/styles-unique.html >> >> >> Alex G. wrote: >> >> Hi all, >> >> I am probably having a conflict problem with some of my >> layers. I currently have 3 layers active on my installation: >> - a layer containing the data from a shapefile (running WMS) >> - a vector layer where users can draw >> - a layer dedicated to markers. >> >> I have noticed that if I place a marker, I cannot interact >> with it afterwards unless I hide the vectors layer. The order >> is correct, I load first the shp layer, then the vector one >> and then the markers one. >> >> I include here some of my code in hope that it will help, it's >> mostly from examples on openlayers so there's really nothing new. >> >> map = new OpenLayers.Map('map',{maxExtent: new >> >> >> OpenLayers.Bounds(195441.084706006,4171163.51662705,240142.089176109,4203199.94421431), >> maxResolution: 120, units: 'dd'}); >> layer = new OpenLayers.Layer.WMS( 'Landmass ', >> ' >> http://localhost:8585/cgi-bin/mapserv?map=/opt/fgs/apps/gmap-demo-cvs_MS_VERSION_54/htdocs/gmap75a.map& >> < >> http://localhost:8585/cgi-bin/mapserv?map=/opt/fgs/apps/gmap-demo-cvs_MS_VERSION_54/htdocs/gmap75a.map& >> > >> < >> http://localhost:8585/cgi-bin/mapserv?map=/opt/fgs/apps/gmap-demo-cvs_MS_VERSION_54/htdocs/gmap75a.map& >> < >> http://localhost:8585/cgi-bin/mapserv?map=/opt/fgs/apps/gmap-demo-cvs_MS_VERSION_54/htdocs/gmap75a.map& >> >>', >> >> { >> layers: 'zak', >> format:'PNG', >> bbox: >> >> '195441.084706006,4171163.51662705,240142.089176109,4203199.94421431', >> srs: 'EPSG:4326' >> }); >> lakegr_wms = new OpenLayers.Layer.WMS( 'Lakes', >> ' >> http://localhost:8585/cgi-bin/mapserv?map=/opt/fgs/apps/gmap-demo-cvs_MS_VERSION_54/htdocs/gmap75a.map& >> < >> http://localhost:8585/cgi-bin/mapserv?map=/opt/fgs/apps/gmap-demo-cvs_MS_VERSION_54/htdocs/gmap75a.map& >> > >> < >> http://localhost:8585/cgi-bin/mapserv?map=/opt/fgs/apps/gmap-demo-cvs_MS_VERSION_54/htdocs/gmap75a.map& >> < >> http://localhost:8585/cgi-bin/mapserv?map=/opt/fgs/apps/gmap-demo-cvs_MS_VERSION_54/htdocs/gmap75a.map& >> >>', >> >> >> { >> layers: 'sedi', >> transparent: 'true', >> format: 'image/png' >> }, >> {isBaseLayer: false} >> ); >> vectors = new OpenLayers.Layer.Vector( 'Editable' ); >> vectors.onFeatureInsert=function(feature) { >> var wkt=wktwriter.write(feature); >> console.log(wkt); >> } >> map.addLayer(layer); >> map.addLayers([lakegr_wms,vectors]); >> map.addControl(new OpenLayers.Control.LayerSwitcher()); >> controls = { >> point: new >> OpenLayers.Control.DrawFeature(vectors, >> OpenLayers.Handler.Point), >> line: new >> OpenLayers.Control.DrawFeature(vectors, >> OpenLayers.Handler.Path), >> polygon: new >> OpenLayers.Control.DrawFeature(vectors, >> OpenLayers.Handler.Polygon), >> drag: new >> OpenLayers.Control.DragFeature(vectors) >> }; >> >> for(var key in controls) { >> map.addControl(controls[key]); >> } >> >> map.zoomTo(1); >> var options = { >> hover: true, >> highlightOnly: true >> }; >> var select = new >> OpenLayers.Control.SelectFeature(vectors, options); >> selectCtrl = new >> OpenLayers.Control.SelectFeature(vectors, >> { >> clickout: true, >> onSelect: serialize >> } >> ); >> map.addControl(select); >> map.addControl(selectCtrl); >> select.activate(); >> selectCtrl.activate(); >> * >> * Inherits from: >> >> var markers = new OpenLayers.Layer.Markers( >> 'Markers' ); >> map.addLayer(markers); >> >> Rest of the code is taken from the markers example on OpenLayers. >> >> Can anyone think of any reason why they would conflict? I am >> thinking it has something to do with clicks and some of the >> controls I use might be conflicting although I can't see any >> Javascript errors. >> >> Thanks in advance. >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Dev mailing list >> Dev@openlayers.org <mailto:Dev@openlayers.org> >> >> http://openlayers.org/mailman/listinfo/dev >> >> >> >> -- Alexandre Dubé >> Mapgears >> www.mapgears.com <http://www.mapgears.com> >> >> >> > > -- > Alexandre Dubé > Mapgears > www.mapgears.com > >
_______________________________________________ Dev mailing list Dev@openlayers.org http://openlayers.org/mailman/listinfo/dev