我在网页上有一个现有地图,使用以下脚本段进行缩放和居中: 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.html和http://www.a711lions.ca/recycleforsight/locationmap2.html看到两个不同的结果。
我已经读过我可以使用layer.preserveViewport设置来克服这个问题,但我试图理解它为什么会发生这种情况。 AFAICT的分数都在加拿大(他们肯定不会在三重地球视图中出现在其他任何地方)所以为什么KML层如此庞大?
有什么想法吗?
答案 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>
它位于北极。