【问题标题】:Google maps KML layer initial zoom and centre谷歌地图 KML 图层初始缩放和居中
【发布时间】:2016-11-28 04:47:18
【问题描述】:

我在网页上有一个现有地图,该地图使用以下脚本段正确缩放和居中: var mapOptions = { 中心:{纬度:43.57023,液化天然气:-79.48676}, 缩放:12 } map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);

然后我使用以下方法添加 kml 层: var myLayer = new google.maps.KmlLayer({ 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 设置来克服这个问题,但我试图理解它为什么会发生。 AFAICT 这些点都在加拿大(它们当然不会像在其他任何地方一样出现在三地球视图中)那么为什么 KML 层如此巨大?

有什么想法吗?

【问题讨论】:

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


    【解决方案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>
    

    它位于北极。

    【讨论】:

    • 好的,谢谢。我昨天在使用正则表达式对坐标进行了完整性检查后发现了它。尽管如此,它不应该导致这种奇怪的行为。这似乎禁止标记圣诞老人的工作室。 :) 如果我把它放在一个荒谬的位置,比如北纬 91 度,那么我希望它会被忽略或标记为“离开地球”。如果它位于合法位置,则应进行映射。
    • 如果您在北极有一个点,地图将显示它(缩小以包括它),并且 90 度与谷歌地图上使用的墨卡托投影有问题。
    • 这一点似乎被问题所反驳。该位置位于北极(北 90 度),经度不相关 - -3 度与任何其他经度一样有效。实际变焦远大于整个地球,北极没有标记。在这种情况下,投影应该使用 -3 来显示位于本初子午线以西的标记。抱歉,除了 Google 代码中的错误之外,我真的无法将其视为其他任何东西。
    • 我不会评论它是否应该是一个错误,只是虽然在现实世界中 90 度在物理上是可能的,但在墨卡托投影上大于 85 度的纬度没有意义(或在谷歌地图上)。而且由于修复“坏”点可以解决问题,因此不值得花任何时间在(IMO)上。您可以在issue tracker 中创建问题,他们可能会接受。
    猜你喜欢
    • 1970-01-01
    • 2012-12-29
    • 2017-08-10
    • 1970-01-01
    • 2019-08-06
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多