Fixed Legend in Google Maps Mashup

前端 未结 2 2083
遥遥无期
遥遥无期 2021-02-06 02:32

I have a page with a Google Maps mashup that has pushpins that are color-coded by day (Monday, Tuesday, etc.) The IFrame containing the map is dynamically sized, so it gets resi

相关标签:
2条回答
  • 2021-02-06 02:40

    You can add your own Custom Control and use it as a legend.

    This code will add a box 150w x 100h (Gray Border/ with White Background) and the words "Hello World" inside of it. You swap out the text for any HTML you would like in the legend. This will stay Anchored to the Top Right (G_ANCHOR_TOP_RIGHT) 10px down and 50px over of the map.

    function MyPane() {}
    MyPane.prototype = new GControl;
    MyPane.prototype.initialize = function(map) {
      var me = this;
      me.panel = document.createElement("div");
      me.panel.style.width = "150px";
      me.panel.style.height = "100px";
      me.panel.style.border = "1px solid gray";
      me.panel.style.background = "white";
      me.panel.innerHTML = "Hello World!";
      map.getContainer().appendChild(me.panel);
      return me.panel;
    };
    
    MyPane.prototype.getDefaultPosition = function() {
      return new GControlPosition(
          G_ANCHOR_TOP_RIGHT, new GSize(10, 50));
          //Should be _ and not _
    };
    
    MyPane.prototype.getPanel = function() {
      return me.panel;
    }
    map.addControl(new MyPane());
    
    0 讨论(0)
  • 2021-02-06 02:48

    I would use HTML like the following:

    <div id="wrapper">
       <div id="map" style="width:400px;height:400px;"></div>
       <div id="legend"> ... marker descriptions in here ... </div>
    </div>
    

    You can then style this to keep the legend in the bottom right:

    div#wrapper { position: relative; }
    div#legend { position: absolute; bottom: 0px; right: 0px; }
    

    position: relative will cause any contained elements to be positioned relative to the #wrapper container, and position: absolute will cause the #legend div to be "pulled" out of the flow and sit above the map, keeping it's bottom right edge at the bottom of the #wrapper and stretching as required to contain the marker descriptions.

    0 讨论(0)
提交回复
热议问题