代码之家  ›  专栏  ›  技术社区  ›  mklfarha

动态kml谷歌地图

  •  0
  • mklfarha  · 技术社区  · 16 年前

    我想用kml创建一个谷歌地图应用程序,我想根据用户的缩放动态创建kml文件。

    有点像谷歌地球,但在谷歌地图中(缩放部分)

    我试过使用markermanager和cluster,但是我有太多的标记,移动设备的性能非常差,但是对于kml来说这不是问题,但是我可以同时显示所有标记。

    我试图在kml文件中使用networklink,但没有得到任何参数,如缩放或边界(我使用的是php)

    我知道可以用javascript来完成

    new google.maps.KmlLayer('mykmlgenerator.php?zoom='+zoom);
    

    但我想避免这种情况。有什么办法吗?

    谢谢您

    2 回复  |  直到 12 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

    <html>
    <head>
    <title>Google Layer with KML file</title>
    <link rel="stylesheet" href="http://openlayers.org/api/theme/default/style.css" type="text/css" />
    <link rel="stylesheet" href="http://openlayers.org/dev/examples/style.css" type="text/css" />
    <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAl9RMqSzhPUXAfeBCXOussRTQDbvAygy0cfGJr8dEMAYKf3RWNBQqP9mjKIsqTfmAlz5LOJ3Xpy5s4w'></script>
    <script src="http://openlayers.org/api/OpenLayers.js"></script>
    <script type="text/javascript">
    
    var map;
    
    function init() {
        // Create the map object
        map = new OpenLayers.Map('map');
        // Create a Google layer
        var gmap = new OpenLayers.Layer.Google(
            "Google Streets", // the default
            {numZoomLevels: 20}
        );
        // Add layer to map
        map.addLayer(gmap);
    
        //Adding KML file to map
        map.addLayer(new OpenLayers.Layer.GML("KML", "yourkml.kml", 
               {
                format: OpenLayers.Format.KML, 
                formatOptions: {
                  extractStyles: true, 
                  extractAttributes: true,
                  maxDepth: 2
                }
               }));
        // Zoom to Kuala Lumpur, Malaysia
        map.setCenter(new OpenLayers.LonLat(101.686855,3.139003), 13);         
    }
    </script>
    </head>
    <body onload="init()">
    <h1 id="title">Google Layer with KML file</h1>
    <div id="map" style='width: 700px; height: 700px'></div>
    </body>
    </html>
    

    link