2011-11-02 30 views
4

使用Google Maps JavaScript API V3,我已经设置了一个映射来从动态生成的KML文件中提取数据。结果如下: http://theevolvement.org/MapRetailers.php带有KML的Google地图不会遵守缩放设置;相反,缩小以适应所有标记

在我的代码中(在下面复制),我在我的地图选项中将缩放比例指定为12。当页面加载时,它从该分配的缩放开始,但在大约一秒钟内,缩小地图(并且移动其分配的中心)以适应所有绘制的点。

我们希望加载具有指定缩放的地图,不包括所有绘制的数据。所以任何人可以给我的意见,我做错了将不胜感激。谢谢你们!

<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="//maps.googleapis.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript"> 
    function initialize() { 
     var vegas = new google.maps.LatLng(36.1589862,-115.1723833); 
     var myOptions = { 
     zoom: 12, 
     center: vegas, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
     var ctaLayer = new google.maps.KmlLayer('http://theevolvement.org/MapRetailers.php?getKML=1&t=<?=mktime()?>'); 
     ctaLayer.setMap(map); 
    } 
    </script> 
    </head><body onload="initialize()"> 
    <div id="map_canvas"></div> 
    </body> 

回答

9

WOO!我终于想出了解决方案!

按KmlLayer功能所需的另一参数,{preserveViewport,用于:真}

var ctaLayer = new google.maps.KmlLayer('<?=$kmlURL?>', {preserveViewport: true}); 
相关问题