gpt4 book ai didi

google-maps - 在 GMaps API V3 中显示 map 版权

转载 作者:行者123 更新时间:2023-12-04 02:10:50 26 4
gpt4 key购买 nike

我目前正在将应用程序从 GMaps V2 迁移到 V3。由于我使用 OSM 和其他非 Google map 图层,因此我希望将版权声明保留在右下角。但是reference documentation对此没有任何提示。在V2中,版权甚至有自己的类GCopyrightCollection ,并传递给 GTileLayer . Google Code Playground 也没有提供 V3 的示例。

有谁知道如何在新的 API 中做到这一点?

最佳答案

邮件列表帮助我解决了这个问题(见 thread)。有sample code on Google Code for copyright collections以及如何在 map DIV 的右下角显示它们。

由于在右下角布局自定义 DIV 存在问题(仅在拖动 map 时跳转到正确位置,GMaps API 本身的问题),我现在将其显示在左下角。 ( 更新: 问题似乎已在 API 中修复!)

以下代码按预期工作(当然我没有使用全局变量,为了清楚起见,删除了 this.):

copyrightDiv = document.createElement("div")
copyrightDiv.id = "map-copyright"
copyrightDiv.style.fontSize = "11px"
copyrightDiv.style.fontFamily = "Arial, sans-serif"
copyrightDiv.style.margin = "0 2px 2px 0"
copyrightDiv.style.whiteSpace = "nowrap"
map.controls[google.maps.ControlPosition.BOTTOM_LEFT].push(copyrightDiv)

copyrights = {}
copyrights["OSM"] = "<a target=\"_blank\" href=\"http://www.openstreetmap.org/\">OpenStreetMap</a>"
copyrights["Osmarender"] = copyrights["OSM"]
copyrights["Cloudmade"] = "<a target=\"_blank\" href=\"http://cloudmade.com/\">CloudMade</a> - Map data <a target=\"_blank\" href=\"http://creativecommons.org/licenses/by-sa/2.0/\">CCBYSA</a>"
copyrights["Cloudmade-Fine"] = copyrights["Cloudmade"]

function onMapTypeIdChanged()
{
newMapType = map.getMapTypeId()

copyrightDiv = document.getElementById("map-copyright")
if(newMapType in copyrights)
copyrightDiv.innerHTML = copyrights[newMapType]
else
copyrightDiv.innerHTML = ""
}

google.maps.event.addListener(map, "maptypeid_changed", onMapTypeIdChanged)

// Call once so that the correct copyright notice is set for
// the initially selected map type
setTimeout(onMapTypeIdChanged, 50)

关于google-maps - 在 GMaps API V3 中显示 map 版权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5489811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com