当前位置: 首页 > 知识库问答 >
问题:

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

羊舌成周
2023-03-14

我有一个网页上的现有地图,使用以下脚本段正确缩放和居中:var mapOptions={center:{lat: 43.57023,lng:-79.48676},缩放: 12}map=newgoogle.maps.Map(document.getElementById(地图画布), mapOptions);

然后,我使用以下命令添加kml层:var myLayer=new google.maps.kmlayer({url:”“});myLayer.setMap(map);

这在去年一直有效。然而,我不得不更新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设置来克服这个问题,但我试图理解为什么会发生这种情况。这些点都在加拿大(它们当然不会在三重地球视图中显示为其他任何地方),那么为什么KML层如此巨大呢?

有什么想法吗?

共有1个答案

公冶高义
2023-03-14

您的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>

它位于北极。

 类似资料:
  • 我用谷歌地球创建了一个kml文件,它使用外部图像创建了一个覆盖层。它工作得很好,我想找到一种相当方便的转换kml的方法,这样谷歌地图就可以以类似的方式读取和显示它。 谷歌地图不能处理谷歌地球坐标,所以我试图自己转换它们。例如,我替换了地球坐标: 使用等效地图坐标: 不幸的是,两者并不完全“对等”。“地图覆盖”稍微关闭,旋转不正确。 以下是两张照片: 地球实例 地图示例 我明白为什么它不起作用,但我

  • 我有一个KMZ,它也包含区域多边形和城市点(12个谷歌引脚),但它们不会出现在地图上,尽管如你所见已打开。如何可见它们?有人能帮我吗? 这是地图:http://goo.gl/maps/Nbrfq 安得烈

  • 我正在使用谷歌地图api制作一张带有自定义标记和按钮的地图,这些标记和按钮可以更改地图的中心和缩放。我有一个地图和信息窗口的全局变量。我的地图在初始化时显示为灰色,没有缩放控制。 控制台中没有显示任何错误消息。我有五个按钮:亚洲、北美、中东、纽约、新英格兰。这些按钮用于更改地图的中心和缩放。但是我想让地图从地图的初始位置开始 我通过一个位置对象使用foreach循环来定制地图上的标记和信息窗口。我

  • 我有大约1200点的谷歌地图。当我试图将其保存为KML或Google Earth中的视图时,只有1000点。是否有办法(例如使用一些API)下载所有点(我不需要KML-我只需要带描述的坐标-可能是其他格式)? 地图可以在这里找到。当您保存KML将没有从第6页点。

  • 我需要一些帮助来绘制我正在绘制的地图。地图并不特别复杂,因为我是一个初学者,我有一堆带有信息窗口的标记(完成后还会有更多标记),单击标记或选择页面HTML端下拉菜单的相应项时可以打开这些标记。 当信息窗口打开时(在HTML菜单中单击或选择),我想做但自己找不到的是在地图上自动居中标记。我假设有某种函数可以分配给click或infowindow打开事件,但无法确定是哪种函数以及如何实现它。 我的代码