[fusion-dev] Markers in Openlayers.

GordonL gordon.luckett at arrowgeomatics.com
Tue Dec 8 17:11:05 EST 2009


Wow, thanks Tim,
I did hear about the deprecation of markers when I attended FOSS4G in
October, but wasn't sure of the time-line.

Thanks again
gordon


Nolte, Tim wrote:
> 
> If you look at the API for OpenLayers you'll find that their roadmap is
> pushing to retire the old Markers way of doing things in favor of just
> using Vector features. I have already implemented this to added a geocoded
> point to Fusion. Here is a sample of my code:
> 
> var map = Fusion.getMapById('Map');
> 
> var styleMap = new OpenLayers.StyleMap({
> 	"default": new OpenLayers.Style({
> 		graphicName: "${graphicName}",
> 		strokeColor: "${strokeColor}",
> 		strokeOpacity: "${strokeOpacity}",
> 		strokeWidth: "${strokeWidth}",
> 		fillColor: "${fillColor}",
> 		fillOpacity: "${fillOpacity}",
> 		pointRadius: "${pointRadius}",
> 		pointerEvents: "visiblePainted",
> 		label : "  ${label}",
> 		
> 		fontColor: "#000000",
> 		fontSize: "11px",
> 		fontFamily: "Arial",
> 		fontWeight: "bold",
> 		labelAlign: "${align}",
> 		labelXOffset: "${xOffset}",
> 		labelYOffset: "${yOffset}"
> 	})
> });
> 
> // remove any existing Geocoded Point vector layers
> for (var i=0; i<map.oMapOL.layers.length; i++) {
> 	var layer = map.oMapOL.layers[i];
> 	if (layer.name == 'Geocoded Points') { layer.destroy(); }
> }
> // create Geocoded Point vector layer
> var vectorLayer = new OpenLayers.Layer.Vector('Geocoded Points',
> {styleMap: styleMap});
> map.oMapOL.addLayers([vectorLayer]);
> var newPoint = new OpenLayers.Geometry.Point(parseFloat(nLon),
> parseFloat(nLat), {style: "default"});
> var pointFeature = new OpenLayers.Feature.Vector(newPoint);
> pointFeature.attributes = {
> 	graphicName: "circle",
> 	strokeColor: "#000000",
> 	strokeOpacity: 1,
> 	strokeWidth: 1,
> 	fillColor: "#FFFFFF",
> 	fillOpacity: 1,
> 	pointRadius: 9,
> 	
> 	label: sLabel,
> 	align: 'lc',
> 	// positive value moves the label to the right
> 	xOffset: 50,
> 	// negative value moves the label down
> 	yOffset: -15
> };
> var newStar = new OpenLayers.Geometry.Point(parseFloat(nLon),
> parseFloat(nLat), {style: "default"});
> var starFeature = new OpenLayers.Feature.Vector(newStar);
> starFeature.attributes = {
> 	graphicName: "star",
> 	strokeColor: "#000000",
> 	strokeOpacity: 1,
> 	strokeWidth: 1,
> 	fillColor: "#0066CC",
> 	fillOpacity: 0.5,
> 	pointRadius: 8,
> 	
> 	label: '',
> 	align: 'lc',
> 	// positive value moves the label to the right
> 	xOffset: 0,
> 	// negative value moves the label down
> 	yOffset: 0
> };
> vectorLayer.addFeatures([pointFeature, starFeature]);
> 
> ----
> Timothy J Nolte - tnolte at ilpcs.com
> Network Planning Engineer
> 
> Sprint Nextel
> 4717 Broadmoor Ave, Suite G
> Kentwood, MI 49512
> 
> Office: 616-656-5163
> PCS:    616-706-2438
> Fax:    616-554-6484
> 
> 
> -----Original Message-----
> From: fusion-dev-bounces at lists.osgeo.org
> [mailto:fusion-dev-bounces at lists.osgeo.org] On Behalf Of GordonL
> Sent: Tuesday, December 08, 2009 4:48 PM
> To: fusion-dev at lists.osgeo.org
> Subject: Re: [fusion-dev] Markers in Openlayers.
> 
> 
> Hi Paul, 
> did this get implemented?  I am very interested in Markers lately!
> 
> gordon
> 
> 
> Paul Deschamps wrote:
>> 
>> Hi All,
>> 
>> Want your two cents on the prospect on adding  the
>> "OpenLayers.Layer.Markers" class  into
>> trunk/lib//lib/OpenLayers/OpenLayers.js
>> 
>> Adding a markers layer is quite easy as long as that class is loaded
>> (obviously ;)
>> 
>> Here's a very basic implementation of adding a OL marker in a Fusion app.
>> 
>> function addMarker(iLon,iLat){
>> 
>>     // get the map and map widget
>>     var mapWidget = Fusion.getMapById('mapArea');
>>     var maps = mapWidget.getAllMaps();
>>     var map = maps[0];
>> 
>>     // create a markers layer called "Markers"
>>     var markers = new OpenLayers.Layer.Markers( "Markers" );
>> 
>>     // add the marker layer to the OL Map.
>>     mapWidget.oMapOL.addLayer(markers);
>> 
>>     // OL Image related stuff.
>>     var size = new OpenLayers.Size(10,17);
>>     var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
>>     var icon = new OpenLayers.Icon('
>> http://boston.openguides.org/markers/AQUA.png',size,offset);
>> 
>>     // add the marker.
>>     markers.addMarker(new OpenLayers.Marker(new
>> OpenLayers.LonLat(iLon,iLat),icon));
>> }
>> 
>> Do we want to add the OpenLayers.Layer.Markers class in 1.1?
>> 
>> Cheers
>> 
>> Paul D.
>> 
>> _______________________________________________
>> fusion-dev mailing list
>> fusion-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/fusion-dev
>> 
>> 
> 
> -- 
> View this message in context:
> http://n2.nabble.com/Markers-in-Openlayers-tp2061979p4135608.html
> Sent from the Fusion Developers mailing list archive at Nabble.com.
> _______________________________________________
> fusion-dev mailing list
> fusion-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/fusion-dev
> 
> _______________________________________________
> fusion-dev mailing list
> fusion-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/fusion-dev
> 
> 

-- 
View this message in context: http://n2.nabble.com/Markers-in-Openlayers-tp2061979p4135774.html
Sent from the Fusion Developers mailing list archive at Nabble.com.


More information about the fusion-dev mailing list