Frage

Wie kann ich die Transit-Schicht in einer Google Map auf einer Webseite aktivieren? Die Karte wird erstellt die Suchsteuerung.

<!-- ++Begin Map Search Control Wizard Generated Code++ -->
  <!--
  // Created with a Google AJAX Search Wizard
  // http://code.google.com/apis/ajaxsearch/wizards.html
  -->

  <!--
  // The Following div element will end up holding the map search control.
  // You can place this anywhere on your page
-->
  <div id="mapsearch">
    <span style="color:#676767;font-size:11px;margin:1px;padding:0px;">Loading map ...</span>
  </div>

  <!-- Maps Api, Ajax Search Api and Stylesheet
  // Note: If you are already using the Maps API then do not include it again
  //       If you are already using the AJAX Search API, then do not include it
  //       or its stylesheet again
  //
  // The Key Embedded in the following script tags is designed to work with
  // the following site:
  -->
  <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAxMICTqJZCQhVvaG5Z6vcbBQsQZTeCW4bnSEJHaQGIFLLp_Ev4hQzmbQjyOZxyLLe8CmaFaW5G3RI8g"
    type="text/javascript"></script>
  <script src="http://www.google.com/uds/api?file=uds.js&v=1.0&source=uds-msw&key=ABQIAAAAxMICTqJZCQhVvaG5Z6vcbBQsQZTeCW4bnSEJHaQGIFLLp_Ev4hQzmbQjyOZxyLLe8CmaFaW5G3RI8g"
    type="text/javascript"></script>
  <style type="text/css">
    @import url("http://www.google.com/uds/css/gsearch.css");
  </style>

  <!-- Map Search Control and Stylesheet -->
  <script type="text/javascript">
    window._uds_msw_donotrepair = true;
  </script>
  <script src="http://www.google.com/uds/solutions/mapsearch/gsmapsearch.js?mode=new"
    type="text/javascript"></script>
  <style type="text/css">
    @import url("http://www.google.com/uds/solutions/mapsearch/gsmapsearch.css");
  </style>

  <style type="text/css">
    .gsmsc-mapDiv {
      height : 400px;
    }

    .gsmsc-idleMapDiv {
      height : 400px;
    }

    #mapsearch {
      width : 700px;
      margin: 1px;
      padding: 0px;
    }
  </style>
  <script type="text/javascript">
    function LoadMapSearchControl() {

      var options = {
            zoomControl : GSmapSearchControl.ZOOM_CONTROL_ENABLE_ALL,
            title : "<?php echo $city. ','. $country; ?>",
            url : "",
            idleMapZoom : GSmapSearchControl.ACTIVE_MAP_ZOOM+1,
            activeMapZoom : GSmapSearchControl.ACTIVE_MAP_ZOOM+1
            }

      new GSmapSearchControl(
            document.getElementById("mapsearch"),
            "<?php echo $city. ','. $country; ?>",
            options
            );
    }
    // arrange for this function to be called during body.onload
    // event processing
    GSearch.setOnLoadCallback(LoadMapSearchControl);
  </script>
<!-- ++End Map Search Control Wizard Generated Code++ -->
War es hilfreich?

Lösung

Die Transit-Schicht wird derzeit über die API nicht verfügbar. Es gibt ein Enhancement Anfrage für dieses Problem zu öffnen.

Andere Tipps

Die Google Maps API können Sie eine Kachel-Overlay hinzufügen Ihre Karte, so:

var tileLayerOverlay = new GTileLayerOverlay(
  new GTileLayer(null, null, null, {
    tileUrlTemplate: 'http://example.com/transit_tiles/{Z}_{X}_{Y}.png', 
    isPng:true,
    opacity:1,
  })
);

map.addOverlay(tileLayerOverlay); 

Aber das zu tun, dass Sie Ihren eigenen Satz von Transit Fliesen gemacht haben würden müssen.

Im Übrigen sind die Fliesen Google für die eigene Transitschicht verwendet werden über ein ähnliches Schema abgerufen:

http: // mlt2 .google.com / mapslt? lyrs = Transit & x = 1310 & y = 3166 & z = 13 & w = 256 & h = 256 & gl = us & hl = en

Also, Sie könnten dies tun:

var gTransitTileUrlTemplate = 'http://mlt1.google.com/mapslt?lyrs=transit&x={X}&y={Y}&z={Z}&w=256&h=256&gl=us&hl=en';

Dies kann jedoch die Maps API-Nutzungsbedingungen verstoßen, und es gibt keine Garantie, dass Google wird diese URL nicht ändern und Ihre Anwendung brechen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top