谷歌地图KML图层初始缩放和中心

时间:2016-07-24 22:56:24

标签: javascript google-maps google-maps-api-3 kml

我在网页上有一个现有地图,使用以下脚本段进行缩放和居中:       var mapOptions = {       center:{lat:43.57023,lng:-79.48676},       zoom:12   }   map = new google.maps.Map(document.getElementById(" map-canvas"),mapOptions);

然后我使用以下方法添加kml图层:     var myLayer = new google.maps.KmlLayer({url:""});     myLayer.setMap(地图);

去年一直在努力。但是我必须更新kml文件以包含更广泛的区域。新的kml文件有效,但新的缩放和中心位置不受尊重。

  map = new google.maps.Map(document.getElementById("map-canvas"), {
  center: { lat: 48.0, lng: -89.0 },
  zoom: 4 

});

相反,地图缩小了,所以我看到3个完整的地球加上每一边的一点,中心位于北极之上。您可以在http://www.a711lions.ca/recycleforsight/locationmap.htmlhttp://www.a711lions.ca/recycleforsight/locationmap2.html看到两个不同的结果。

我已经读过我可以使用layer.preserveViewport设置来克服这个问题,但我试图理解它为什么会发生这种情况。 AFAICT的分数都在加拿大(他们肯定不会在三重地球视图中出现在其他任何地方)所以为什么KML层如此庞大?

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您的KML文件包含一个不好的地方:

<Placemark>
    <name>Dr. Sibbald</name>
    <description><![CDATA[<br><b>Address:</b> Applewood Shopping Ctre, Suite 210, 1077 N. Service Rd<br><b>City:</b> Mississauga<br><b>Postal Code:</b> L5R 2X5<br><b>Telephone:</b> (905)273-9009<br><b>Sponsoring Club:</b> Mississauga Credit Valley Lions Club]]></description>
    <styleUrl>#icon-503-DB4436</styleUrl>
    <Point>
        <coordinates>-3.0,90.0,0.0</coordinates>
    </Point>
    <!-- ... -->
</Placemark>

它位于北极。