Here's some JavaScript that will get you started. I have quickly taken it apart from an application i've developed. It may or may not work for you but it will give you a good place to start. <br><br>Be sure to checkout the OpenLayers Documentation.<br>
<br>Cheers<br><br>Paul D. <br><br>/*<br>function onInitialize - Fusion.Event Handler<br>*/<br>function onInitialize() {<br> var map = Fusion.getMapById('mapArea');<br> map.registerForEvent(Fusion.Event.MAP_SELECTION_ON, selectionOn);<br>
map.registerForEvent(Fusion.Event.MAP_LOADED, mapIsLoaded);<br>}<br>/*<br>function selectionOn - Selection activated<br>*/<br>function selectionOn() {<br> var mapWidget = Fusion.getMapById('mapArea');<br> var maps = mapWidget.getAllMaps();<br>
var map = maps[0];<br><br> // get the selection and trigger selectionLoaded with the obj<br> map.getSelection(selectionLoaded.bind(null));<br>}<br>/*<br>function selectionLoaded - Selection loaded<br>*/<br>function selectionLoaded(obj){<br>
<br> // set defaults for the cloud popup<br> var AutoSizeFramedCloud = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {<br> 'autoSize': true,<br> 'minSize': new OpenLayers.Size(300,300),<br>
'fixedRelativePosition':true,<br> 'relativePosition':'tr'<br> });<br><br> lonLat = new OpenLayers.LonLat(obj.fMaxX,obj.fMaxY);<br> // add the marker<br> addMarkerPopup(lonLat, AutoSizeFramedCloud, obj, true,true);<br>
}<br>/*<br>function addMarkerPopup - Creates the OL Feature Marker and FramedCloud Popup<br>*/<br><br>function addMarkerPopup(ll, popupClass, popupContentHTML, closeBox, overflow) {<br> d.log("addMarkerPopup");<br>
// get map<br> var map = Fusion.getMapById('mapArea');<br><br> // build feature<br> var feature = new OpenLayers.Feature(markerLayer, ll);<br> feature.closeBox = closeBox;<br> feature.popupClass = popupClass;<br>
<br> feature.data.popupContentHTML = popupContentHTML;<br><br> // feature.data.overflow = (overflow) ? "auto" : "hidden";<br><br> var size = new OpenLayers.Size(14,24);<br> var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);<br>
var appHost = Fusion.getApplicationURL();<br> var icon = new OpenLayers.Icon(appHost+'images/marker-2.png',size,offset);<br> var marker = new OpenLayers.Marker(ll,icon);<br><br> // create popup and show it.<br>
this.popup = feature.createPopup(feature.closeBox);<br> map.oMapOL.addPopup(this.popup);<br> this.popup.show();<br><br> // add eventhandler for marker to popup<br> var markerClick = function (evt) {<br> if (this.popup == null) {<br>
this.popup = this.createPopup(this.closeBox);<br> map.oMapOL.addPopup(this.popup);<br> this.popup.show();<br> } else {<br> this.popup.toggle();<br> }<br> currentPopup = this.popup;<br>
OpenLayers.Event.stop(evt);<br> };<br> marker.events.register("mousedown", feature, markerClick);<br> markerLayer.addMarker(marker);<br>}<br><br>/*<br>function mapIsLoaded - Fusion.Event Handler<br>
*/<br>function mapIsLoaded() {<br> var map = Fusion.getMapById('mapArea');<br> // create the markers layer<br> markerLayer = new OpenLayers.Layer.Markers( "Markers" );<br> // set units<br> markerLayer.units = map.oMapOL.units;<br>
// add the marker layer to the OL Map.<br> map.oMapOL.addLayer(markerLayer);<br><br> // set the resolutions for the markers layer<br> //markerLayer.maxResolution = map.oMapOL.baseLayer.maxResolution;<br> //markerLayer.minResolution = map.oMapOL.baseLayer.minResolution;<br>
<br> // set extents to be a bit larger then the current area.<br> /*<br> var mapWidget = Fusion.getMapById('mapArea');<br> var maps = mapWidget.getAllMaps();<br> var map = maps[0];<br><br> var bounds = new OpenLayers.Bounds(100000,4800000,600000,5500000);<br>
<br> map._oMaxExtent = bounds<br> map.oLayerOL.maxExtent = bounds<br> */<br><br>}<br><br><br><br><div class="gmail_quote">On Fri, Jun 12, 2009 at 8:32 AM, Paul Spencer <span dir="ltr"><<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">It hasn't been done yet, but it is definitely possible to use OpenLayers.Popup which does a google-style popup dialog on the map. I haven't tried it myself but I have seen it done.<br>
<br>
Paul<div><div></div><div class="h5"><br>
<br>
On 11-Jun-09, at 9:41 PM, jroberts wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Our developers we see no way to make the properties of a selection appear<br>
directly over the map in a popup window (sort of like Google Maps). Is this<br>
at all possible to do?<br>
<br>
We'd love to get rid of the properties panel and display selection<br>
information over the map.<br>
<br>
Thanks.<br>
<br>
<br>
-- <br>
View this message in context: <a href="http://n2.nabble.com/Can-I-make-a-popup-layer-directly-over-the-map-like-Google--tp3065516p3065516.html" target="_blank">http://n2.nabble.com/Can-I-make-a-popup-layer-directly-over-the-map-like-Google--tp3065516p3065516.html</a><br>
Sent from the Fusion Users mailing list archive at Nabble.com.<br>
<br>
_______________________________________________<br>
fusion-users mailing list<br>
<a href="mailto:fusion-users@lists.osgeo.org" target="_blank">fusion-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/fusion-users" target="_blank">http://lists.osgeo.org/mailman/listinfo/fusion-users</a><br>
</blockquote>
<br>
<br></div></div>
__________________________________________<br><font color="#888888">
<br>
Paul Spencer<br>
Chief Technology Officer<br>
DM Solutions Group Inc<br>
<a href="http://research.dmsolutions.ca/" target="_blank">http://research.dmsolutions.ca/</a></font><div><div></div><div class="h5"><br>
<br>
_______________________________________________<br>
fusion-users mailing list<br>
<a href="mailto:fusion-users@lists.osgeo.org" target="_blank">fusion-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/fusion-users" target="_blank">http://lists.osgeo.org/mailman/listinfo/fusion-users</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br> Paul Deschamps<br> Applications Specialist<br> DM Solutions Group Inc.<br><br> Office: (613) 565-5056 x28<br> <a href="mailto:pdeschamps@dmsolutions.ca">pdeschamps@dmsolutions.ca</a><br>
<a href="http://www.dmsolutions.ca">http://www.dmsolutions.ca</a><br> <a href="http://research.dmsolutions.ca">http://research.dmsolutions.ca</a><br> <br><br>