2009-07-08 9 views
2

ウェブページ上のGoogleマップで中継レイヤーをアクティブにするにはどうすればよいですか?マップは検索コントロールを使用して作成されます。埋め込まれたGoogle SearchControlマップの中継レイヤー

<!-- ++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++ --> 

答えて

2

現在、中継レイヤーはAPI経由では利用できません。この問題にはEnhancement Requestが公開されています。

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); 

しかし、あなたはトランジットタイルの独自のセットをレンダリングしている必要があるだろうことを行うには:

1

Google MapsのAPIはthusly、あなたのマップにadd a tile overlayをできるようになります。ちなみに、Googleは独自の走行層に使用するタイルが同様のスキームを経由して取得され

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

しかし、これは違反する可能性がありますので、

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

は、あなたがこれを行うことができますMaps APIの利用規約に同意するものとし、GoogleがこのURLを変更してアプリケーションを破棄する保証はありません。

関連する問題