Hello OpenLayers Gurus,<br>While learning mapping technologies and having fun, I rendered a galactic map of the MMORPG Eve-Online galaxy. It&#39;s loaded into OpenLayers, and I&#39;ve added a marker and Popup OK. Awesome.<br>
<br>Examples:<br><a href="http://i223.photobucket.com/albums/dd209/ultrus/Picture2-1.png">http://i223.photobucket.com/albums/dd209/ultrus/Picture2-1.png</a><br><a href="http://i223.photobucket.com/albums/dd209/ultrus/Picture1-2.png">http://i223.photobucket.com/albums/dd209/ultrus/Picture1-2.png</a><br>
<br>Now there&#39;s some challenges I&#39;m hoping to get some general feedback on. In general, how would you handle the following (code at bottom for reference):<br><br>Bigger popups on click:<br>Right now I use marker+popup combo to create a text based marker to show who is where, and what their shared status is (gray, blue, green, yellow, orange, red). it looks OK, but I&#39;d like to show a different popup that gives detailed info when clicked. Current plan is to link the text in the little popup to call a function that hides itself and shows a bigger one with detailed info. Sound good?<br>
<br>adding/editing/updating/deleting tons of markers/popups:<br>I&#39;m tracking a lot of pilots in a fleet in real time as they move from place to place. What&#39;s the best way to track/edit markers/popups in this scenerio? I&#39;m thinking about keeping a master array or object, referencing everything there. Any suggestions on where to start?<br>
<br>Overlapping markers:<br>Often times, several pilots will be in the same place. Eww. This is probably a common mapping issue, and I&#39;ve seen it happen a lot with real estate websites when many homes are in the same town. Should I just let it go as long as I have a sidebar listing everyone? Current thoughts are to show the pilot with the most urgent color/status on top somehow. What do you think?<br>
<br>The goal of this project is to LEARN OpenLayers in a low pressure way, and help buddies find each other in the massive virtual galaxy (using the in-game Chromium based web browser that connects to game data - like where you are). <br>
<br>Thanks much for your advise in advance.<br><br>Chris<br><br>==== code (slightly simplified) ====<br><br>&lt;html xmlns=&quot;<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>&quot;&gt;<br>  &lt;head&gt;<br>
&lt;style type=&quot;text/css&quot;&gt;<br>img {<br>    border: 0px;<br>}    <br>.olPopup {<br>    padding: 0px;<br>    background: none;<br>    font-family: Verdana, Arial, Helvetica, sans-serif;<br>    font-size: 9px;<br>
    color: #FFFFFF;<br>    margin-left: 0px;<br>    margin-top: -35px;<br>    border: #FF9900 solid 1px;<br>}<br><br>.statBlue {<br>    background: #00264C;<br>    padding: 0px 2px 2px 2px;<br>    border: #33FFFF solid 2px;<br>
}<br><br>&lt;/style&gt;<br>&lt;script src=&quot;./js/OpenLayers-2.8/lib/OpenLayers.js&quot;&gt;&lt;/script&gt;<br>&lt;script src=&quot;./js/LabelMaker.js&quot;&gt;&lt;/script&gt;<br>&lt;script type=&quot;text/javascript&quot;&gt;<br>
var map, layer;<br><br>function init(){<br>    OpenLayers.ImgPath = &quot;./images/light/&quot;;<br>    map = new OpenLayers.Map( $(&#39;map&#39;), {<br>        resolutions: [0.703125, 0.3515625, 0.17578125, 0.087890625, <br>
                                0.0439453125, 0.02197265625, 0.010986328125, <br>                                0.0054931640625, 0.00274658203125, 0.001373291015625]<br>    });<br>    layer = new OpenLayers.Layer.TileCache(&quot;EVE: System Security&quot;,<br>
        [&quot;./maps&quot;],<br>        &quot;evedot4&quot;,<br>        {<br>            serverResolutions: [0.703125, 0.3515625, 0.17578125, 0.087890625, <br>                                0.0439453125, 0.02197265625, 0.010986328125, <br>
                                0.0054931640625, 0.00274658203125, 0.001373291015625, <br>                                0.0006866455078125, 0.00034332275390625, 0.000171661376953125, <br>                                0.0000858306884765625, 0.00004291534423828125, 0.000021457672119140625]<br>
        }<br>    );<br>    map.addLayer(layer);<br>    map.setCenter(new OpenLayers.LonLat(0, 0), 2);<br>    map.addControl(new OpenLayers.Control.LayerSwitcher({&#39;ascending&#39;:false}));<br>    <br>    var markers = new OpenLayers.Layer.Markers( &quot;My Location&quot; );<br>
    map.addLayer(markers);<br>    <br>    var size = new OpenLayers.Size(56,22);<br>    var offset = new OpenLayers.Pixel(-2, -21);<br>    var icon = new OpenLayers.Icon(&#39;./images/markers/statBlue3.png&#39;,size,offset);<br>
    markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(-10.3300968263,2.98563041298),icon));<br>    <br>    popup = new OpenLayers.Popup(&quot;testPopup&quot;,<br>           new OpenLayers.LonLat(-10.3300968263,2.98563041298),<br>
           new OpenLayers.Size(100,12),<br>           &#39;&lt;span class=&quot;statBlue&quot;&gt;Ultran&lt;/span&gt;&#39;,<br>           false);   <br>    popup.backgroundColor = &#39;none&#39;;<br>    popup.padding = &#39;0&#39;;<br>
    map.addPopup(popup);<br>    <br>}<br><br>OpenLayers.Util.onImageLoadError = function() { <br>    this.src = &quot;./images/blank.gif&quot;;<br>    this.style.display = &quot;&quot;;<br>};<br>&lt;/script&gt;<br>  &lt;/head&gt;<br>
  &lt;body onLoad=&quot;init()&quot;&gt;<br>    &lt;div id=&quot;map&quot;&gt;&lt;/div&gt;<br>  &lt;/body&gt;<br>&lt;/html&gt;<br><br>