【问题标题】:KMZ points displaying in inaccurate positions at small scale in Google MapsKMZ 点在 Google 地图中以小比例显示位置不准确
【发布时间】:2012-06-12 13:56:13
【问题描述】:

当地图缩小(例如缩放:5)时,我无法以小比例准确显示 KMZ 文件中的点。

例如 Farmers Markets KMZ 图层中的一些点从水中开始,然后随着您的放大,这些点会移动到陆地上,并在您放大地图时变得更加准确。这些点只有在放大到一定程度时才会显示在它们的准确位置。

地图缩小时,如何在小比例下更准确地显示点?谢谢!

【问题讨论】:

    标签: javascript google-maps google-maps-api-3 zooming kmz


    【解决方案1】:

    当放置自定义图标时,我在常规 API 标记中看到了类似的行为,即缩小时标记似乎被“撞”到一边。这种效果与标记图像的锚定位置有关。默认情况下,KML 标记看起来像锚定在图像的中心底部。

    请注意,下面的农贸市场 PNG 图像有很多空白“填充”。由于地图的锚点位于图像的底部,因此在缩小时,红点会出现向北移动。

    我发现一个页面说图标必须至少为 32x32,所以填充应该保留在那里。

    要更改锚定位置,请将<hotspot> 选项添加到IconStyle,例如as described here,添加到图像的中心:

    <hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction">

    【讨论】:

    • 我会试试看。非常感谢!
    • 所以我裁剪了 png 并在 kmz 内的 kml 文件中添加了热点代码,并且这些点仍然出现在水中..有什么想法吗?我从 shapefile 创建了 kmzs,所以在转换 shapefile 之前是否需要特定的投影?
    • 我再次检查了该网站并进行了更多研究。首先,Google 地图缓存了 kml,刷新 kml 的一种方法是在 url (source here) 的末尾添加诸如 ?random=123 之类的虚假参数。 ,这是不好的。直到那时我才发现一个页面说 kml 图标应该至少为 32x32,所以裁剪是一个糟糕的建议,我道歉。我认为保留原来的 32x32 图标但使用 hotSpot 会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多