My favorites | 中文(简体) | Sign in

Google 地图 API 专业版

除了同样具有功能强大的地图外,还包含 SLA、支持和广告控制。

常见问题解答


什么是 Google 地图 API?

Google 地图 API 提供了多种将 Google 地图嵌入到网页中的方法,并允许简单调用或者深入的自定义。目前提供以下几种 API:Google 地图 Javascript APIGoogle Maps API(Flash 版)Google 静态地图 API。另外,我们也提供在 Google 地图上创建小应用的 Mapplet API。您可以根据需要对不同的 API 进行选择或者组合应用。

如果您运营的是企业网站或者商业网站,您可能对 Google 地图 API 专业版也感兴趣。

Google 地图 API 覆盖哪些国家/地区?

Google 地图团队正在不断的导入新的地图数据,不断的丰富对全球地图的覆盖范围。下面的电子表格包含了最新的覆盖范围的详细信息。您可以用顶部的下拉菜单在电子表格里进行过滤(例如,通过从 driving directions 列的下拉菜单中选择“Yes”来查看所有包含了行车路线功能的国家/地区)。需要注意的是,如果与数据提供商的许可协议发生变化,数据覆盖范围情况可能也会有变化。

查看查地图覆盖范围详情电子表格
另请参见支持的语言电子表格

我可否在不使用 Google 地图 API 的情况下将 Google 地图放在我的网站中?

能。Google 地图现在提供将您当前看到的地图嵌到您的网站或博客的功能,而不需要任何编程或使用 Google 地图 API。

详细信息点击这里

怎样在移动设备上提供地图应用程序?
由于 Google 地图 API 所需的完全的 JavaScript 运行环境在现有移动设备中的支持还不是很普遍,所以我们建议使用 Google 静态地图 API 来向移动电话提供自定义地图。

http://code.google.com/apis/maps/documentation/staticmaps/

它会提供基于 GIF/JPG/PNG 格式的地图,并支持移动设备上的地图类型。

Google 地图支持哪些网络浏览器?

Google 地图当前支持以下网络浏览器:


如果您使用这些浏览器之一时遇到问题,请访问我们的疑难解答指南

我网站的访问量很大,我可否使用地图 API?

是的,当然可以。对于您的网站上的地图页面展示(PV)的次数是没有限制的。如果您的网站每天有超过 50 万个页面展示(PV),请联系我们,我们可以提供更大的处理能力来处理您的流量。

需要了解的是,地址解析的功能(将地址转换成坐标对)是由在常见问题解答文档中记录的使用限制来决定的。

怎样在我的网站上开始使用 Google 地图 API?

只需注册以获取 API 密钥,您就可以开始将地图放在您的网站上。有关示例和详细信息,请参见地图 API 文档


Google 地图 API 的使用条款有哪些?

以下网址中提供了 Google 地图 API 的使用条款:

http://www.google.cn/apis/maps/terms.html

以下网址中提供了 Google 地图 API 专业版的使用条款:

http://www.google.cn/enterprise/maps/terms/v5_1.html

我的网站是否符合 Google 地图 API 的使用条款?

地图 API 可用于所有供客户免费访问的网站。只要您的网站符合使用条款,就可以在商业和非赢利网站上使用 Google 地图 API。

但是我们不希望看到将 Google 地图 API 用于某些用途:例如在地图中标出城市中购买非法药品的位置,或其他任何非法活动。我们也尊重个人隐私,因此 Google 地图 API 不应该用于标识有关个人的隐私信息。

在您开发和启动您的应用程序之前,应咨询您的法律顾问以确定应用程序是否符合使用条款。Google 工程师只能提供技术帮助,但是没有资格提供法律建议。Google 保留随时暂停或终止您使用服务的权利,所以请仔细阅读使用条款

如果您运营的是企业网站或者商业网站,您可能对 Google 地图 API 专业版也感兴趣,它修改了使用条款,可能更符合您的需要。

我可否直接访问地图和卫星图像?
您无法通过 Google 地图 API 之外的任何方法(例如创建您自己的地图绘制 API 或使用大量图块下载脚本)访问地图或卫星图像。如果从 Google 地图 API 之外访问图块,系统将阻止应用程序对图块的访问。有关详细信息,请参见 Google 使用条款的第 5.3 节。
我可否在商业网站上使用 Google 地图 API?

只要您的网站通常可供消费者免费访问,您就能使用 Google 地图 API。例如,如果您的网站由广告支持,则很可能符合 Google 地图 API 使用条款。如果您对在地图上发布信息(例如列出房屋用于出售)收费,但是您使用 Google 地图 API 在网站上的免费部分显示此信息,则也符合 Google 地图 API 使用条款

但是,并非允许所有商业用途。如果您的网站符合以下任意条件,则您必须使用 Google 地图 API 专业版

  • 仅付费客户可以使用您的网站
  • 仅可从您的公司或您的 Intranet 中访问您的网站

请记住,Google 保留随时暂停或终止您使用 Google 地图 API 的权利,所以请确保仔细阅读使用条款

我可否使用 Google 地图 API 跟踪应用程序?

只要应用程序公开可用、免费且符合使用条款,就不会限制用 Google 地图 API 显示实时数据(跟踪)。对于仅供内部使用的应用程序,必须使用 Google 地图 API 专业版。有关详细信息,请参见使用条款的第 10.9 节

我可否在我的非网络应用程序中使用 Google 地图?
可以,Google 地图 API 现在可以在桌面应用程序中使用,只要这些程序遵守使用条款的其他限制。请注意,为了使桌面应用程序被视为“公众可访问的”,必须有可以从该网页下载的公众可访问的网页。有关详细信息,请参见使用条款的第 7.1c 节
我能否在设置密码保护的网站上使用 Google 地图 API?

可以,但是您在设置密码保护的网站上使用 Google 地图 API 之前应查阅使用条款。如果消费者可以轻松地注册密码而无需支付费用,或用密码保护地图的目的是为了改进公众可访问的地图(即管理),则您的网站很可能符合使用条款。如果不是这些情况,则您需要使用 Google 地图 API 专业版

我需要向 Google 地图 API 报告什么信息?

根据使用条款的第 9.2 节,开发人员必须报告其地图 API 实现是否使用了传感器来定位地图上用户的设备。传感器的示例之一是 Gears 中的地理位置模块,该模块根据用户的 WIFI/GPS/Cell ID 信息提供其经度/纬度。

报告 JavaScript 地图 API静态地图 API 中传感器的使用情况时可使用这些信息。对于使用 Google Maps API(Flash 版)的开发人员,当前没有指定传感器的使用机制。

请注意,由于最近才引入传感器参数,因此之前存在的网站不会因无法定义参数而被禁用。但是要求开发人员尽快开始报告参数。

我可否在印刷材料或离线媒体中使用 Google 地图 API 应用程序的屏幕截图?

在印刷材料和离线媒体中使用 Google 地图图像必须遵守以下网站发布的许可指南:

http://www.google.cn/permissions/index.html

怎样使 Google 搜索结果中不包含我的内容?

要从搜索结果中删除您的页面或网站,请遵循我们的网站管理员帮助中心提供的说明。如果我们索引了属于您的地图 API 实现的任何内容,我们将提供更新的说明,以从搜索结果内容中排除这些内容。


Google 地图 API 密钥系统怎样工作?

要注册 Google 地图 API 密钥,您必须登录您的 Google 帐户并同意我们的使用条款。一个帐户可获得无限量的密钥。

对于大多数应用程序,我们建议您只注册您的域名。您的密钥将对该域、其子域、这些域中主机上的所有网址以及这些主机上的所有端口有效。

例如,如果您使用 http://www.mygooglemapssite.com/ 注册密钥,则您的密钥对于以下范围有效:

  • http://www.mygooglemapssite.com/
  • http://www.mygooglemapssite.com/mysite/

但是,该密钥对于以下范围无效:

  • http://mygooglemapssite.com/
  • http://host1.mygooglemapssite.com/
  • http://host2.mygooglemapssite.com/mysite

如果按照建议,您请求了用于 http://mygooglemapssite.com/ 的密钥,则您的密钥将对以上提到的所有网址有效。

请注意,用于 http://www.mygooglemapssite.com/ 的密钥仅在可以使用该地址访问网站时才会被接受。如果网站通过 IP 地址(例如 http://10.1.2.3/)访问,或通过使用 DNS CNAME 记录的主机名(www.mygooglemapssite.com 的别名)访问,则不会接受该密钥。

如果您在本地驱动器 (file://) 上开发,则 Google 地图 Javascript API 中会跳过密钥检查,且 Google Maps API(Flash 版)中限制更少。另请注意,用 Google Maps API(Flash 版)在本地驱动器上开发将导致图块上带有“调试”字样。如果您在本地主机上开发,您需要注册用于 http://localhost 的密钥。

如果您使用 Javascript 地图 API 且您的密钥在您的网站上不起作用,请在代码中放置一个 alert(window.location.host) 并重新加载页面。您在该警告中看到的域就是您的密钥应当注册的域。

如果您使用 Google Maps API(Flash 版)且您的密钥不起作用,请确保其注册了处理 SWF 的域,而非 SWF 嵌入的域。

怎样找到对每个版本的 Google 地图 API 引入的更改?

我们在以下网址维护了一份 Google 地图 API 的版本之间的更改的列表:

http://groups.google.com/group/Google-Maps-API/web/api-version-changes

您还可以在以下网址,使用 Google 地图 API 问题跟踪器查看哪个版本的 Google 地图 API 引入并修复了特定错误:

http://code.google.com/p/gmaps-api-issues/issues/list

当我指定 v=2、v=2.x 或 v=2.s,当前会使用哪个版本的 Google 地图 Javascript API?

未指定具体版本时,则会在以下网址给出当前所使用的 API 版本:

http://groups.google.com/group/Google-Maps-API/web/api-version-changes

您可以在 Google 地图 API 开发人员指南中读到有关 Google 地图 Javascript API 版本管理系统的详细信息。

怎样在 google.maps.* 命名空间内加载 API?

标准的加载 API 的方法是创建像 GMarkerGMap2 这样的全局对象。但到了 API 的 2.134d 版时,对象又在 google.maps.* 命名空间里进行了声明。希望对象在这个命名空间内部使用的开发人员可以在加载API的脚本标签里指定“file=googleapionly”来取代“file=api”。

怎样以非英语语言显示 Google 地图 API?
地图控件,提示和版权信息已经有对一些语言的翻译了。API会自动检测浏览器的设置并选择相应的语言。您也可以使用 API 重新对语言进行设定。更多信息查看 JavaScript API 文档Flash API 参考

查看支持的语言电子表格

怎样使 Google 地图 API 输出不同的字符编码?

Google Maps API 在很多情况需要接收文本输入或产生文本输出:地图控件、版权、地址解析和行车路线。由于不同的语言可能使用不同的字符集,Google 地图 API 使您可以在脚本标签上或查询时附加“oe”参数来指定输出字符编码,或者附加“ie”参数指定输入字符编码。例如,这样修改您的脚本标签,可以强制在 Google 地图 Javascript API 的地图控件中使用 utf-8 编码:<script src="http://ditu.google.cn/maps?file=api&v=2&oe=utf-8&key=abcdefg">

也可以这样修改,来更改 HTTP 地址解析器的输出:http://ditu.google.cn/maps /geo?q=1600+Amphitheatre+Parkway,+Mountain+View,+CA&output=xml&oe=utf8&key=abcdefg

可否通过 SSL (HTTPS) 访问 Google 地图 API?

Google 地图 API 专业版的用户可以通过安全 (https) 连接方问 Google 地图 JavaScript API 和 Google 静态地图 API。而在安全站点使用免费密钥的地图 API 时,浏览器会报告用户屏幕上的对象不安全的信息。

此外,存储在安全服务器上的 KML/GeoRSS 文件无法用 Javascript API 的 GGeoXML 类进行解析。

怎样报告 Google 地图 API 中的错误或请求新功能?

如果您认为某个地图的行为是一个 BUG,您可以先在 Google 地图 API Google 网上论坛里面发布这个问题。这样其它开发人员就可以验证这个 BUG,排除您的代码上可能存在的问题。

如果您有功能需求,也请先在 Google 地图 API Google 网上论坛中提出,这样可以确定您的需求确实没有实现。

一旦您确认找到了新错误,或 Google 地图 API 的现有特征无法满足您的要求,请使用 Google 地图 API 问题跟踪器报告您的错误或功能请求。

在向问题跟踪器添加错误或功能请求之前,请确保尚未添加相关错误或功能。如果已添加,您可以标记问题以记录您对该问题感兴趣,并接受更新通知。

我有其他问题,应与谁联系?

请将您的问题发布在 Google 地图 API 论坛中,以便获得来自 Google 地图开发者社区的帮助。Google 地图团队也会关注并参与该论坛。

要想在需要帮助时得到最佳结果,需要记住下面的内容:

  • 搜索当前讨论。可能其他人遇到了类似的问题并发现了解决方法。
  • 如果可能,提交您网站的链接。如果代码不方便在线查看,则只发布代码段。
  • 提供所有相关信息,包括浏览器版本、错误和所有其他可能对解决该问题有帮助的资料。

Google 地图 API 专业版客户也可以与 Google 地图 API 专业版支持团队联系。在发送给您的包括客户 ID 的那封欢迎邮件里,包含了 Google 地图 API 专业版支持团队的详细联系信息在与 Google 地图 API 专业版支持团队联系时,请确保始终提供您的客户 ID。


我需要将地址转换为(经度,纬度)数据对。我能否用 Google 地图 API 做到?

可以,该过程称为“地址解析”。Google 地图 API 提供了多种执行地址解析的方法。在 Google 地图 Javascript API 中,您可以使用 GClientGeocoder 对象进行地址解析,而在 Google Maps API(Flash 版)中,您可以使用 ClientGeocoder 进行地址解析。或者,您可以向 HTTP 地址解析器直接发送地址解析请求。

请务必了解应用于地址解析器请求的使用限制,并注意出于除了获取位置之外任何目的使用地址解析器使用 Google 地图 API 进行显示都违反使用条款。您可以使用 HTTP 地址解析器对您的 Google 地图 API 应用程序外部的地址进行地址解析,以便缓存这些地址并随后使用 Google 地图 API 之一进行显示,但是使用 HTTP 地址解析器获取的位置不能被任何其他应用程序使用,不能以其他方式分发或转售。

地址解析在哪些国家/地区可用?

要查看当前支持 Google 地图 API 编码器的国家/地区,请查看本电子表格并在地址解析下拉菜单中选择“是”。

地址解析的位置的准确性可能会因每个国家/地区而有所差异,所以您应考虑使用返回的精确度参数来确定您的应用程序是否找到了适合的匹配值。请注意,地址解析数据的可用性取决于我们与数据提供者的联系情况,因此有可能发生更改。

对于在当前不支持 Google 地图 API 的国家/地区进行地址解析,请浏览其他地址解析服务的本列表

提交的地址解析请求次数是否有限制?

如果在 24 小时时段内收到来自一个 IP 地址超过 15,000 个地址解析请求,或从一个 IP 地址提交的地址解析请求速率过快,Google 地图 API 编码器将用 620 状态代码开始响应。本文说明了怎样确定来自 PHP 的地址解析请求的时间并提供用于此操作的示例代码。如果地址解析器的使用仍然过多,则从该 IP 地址对 Google 地图 API 地址解析器的访问可能被永久阻止。

使用 Javascript 中的 GClientGeocoder 或 Flash 中的 ClientGeocoder 时,地址解析器请求由用户的网络浏览器发起,这时使用的是用户 IP 地址的配额。这意味着您的网站上的某个用户的过度使用,不会影响到网站上的其他用户。但是,如果多个用户通过一个代理访问 Google 地图 API,则他们将共同分担代理的 IP 地址的配额。

如果地址解析器请求是使用 HTTP 地址解析发送的,那么它们消耗的是发起这个 HTTP 请求的系统的 IP 地址的配额。如果您需要通过 HTTP 地址解析器提交大批量的地址信息,并保存下来供以后使用,那么您可以考虑 Google 地图 API 专业版,它为此专门提供了独立的批处理地址解析配额。

您还可以用其他地址解析服务补充 Google 地图 API 地址解析器,此处提供可用服务列表。

为何 Google 地图 API 地址解析器提供的位置与 Google 地图提供的不同?
API 地址解析器和 Google 地图地址解析器有时会使用不同的数据集(根国家/地区有关)。由于 API 地址解析器经常用新数据进行更新,所以您可以不断的看到结果的变更或者改进。
我应该怎样格式化一个通过地址解析出来的已经编号的美国高速公路地址?

Google 地图 API 地址解析器要求的美国编号高速公路地址以下面的形式指定出来:

  • 州高速公路: XX-NNN,其中“XX”表示该州的邮政编码缩写,“NNN”表示高速公路编号。例如,CA-82
  • 美国高速公路: US-NNN,其中“NNN”表示高速公路编号。例如,US-101
  • 美国州际: I-NNN,其中“NNN”表示州际编号。例如,I-280

地址解析器返回的 Accuracy 参数的值的含义是什么?

Accuracy 值表示地址解析所在的比例尺精度。它并不表示结果的排名或者结果的信任级别。

当地址解析器收到请求时,会尝试寻找与给定地址特征最匹配的点。根据我们已经有的关于这个地区的数据多少,它可以确定一个精确的建筑物,或者匹配一条街道或者一个行政区。

即使它只能匹配较高层次的特征信息,例如街区,它还是会返回经纬度,但是这个经纬度肯定是那个特征点的中心,与请求地址最可能接近的地方差。Acccuracy 告诉您匹配的对象所在的比例尺,这样您就可以知道地址解析的精确度了。

Google 地图 Javascript API 参考中给出了精确度的可能取值和对应特征所代表含义的列表。

怎样使用 Google 地图 API 提供行车路线?

Google 地图 Javascript API 允许您通过 GDirection 类提供行车路线导航。这个类提供了基本的两点或者多点的行车路线的导航,包括实现这个路线的所有步骤,并可以自动的创建这些叠加层和线路控制面板。文档中提供了更多的示例

您可以轻松地链接到 Google 地图了解行车路线。我们建议您在 Google 地图上使用以下格式的行车路线:

http://ditu.google.cn/maps?saddr={start_address}&daddr={destination_address}

在哪些国家/地区提供行车路线?

要查看 Javascript API 中的 GDirection 当前支持哪些国家/地区,请查看本电子表格并在行车路线列下拉菜单中选择“是”。请注意,行车路线数据的可用性取决于我们与数据提供者的联系情况,因此有可能发生更改。

此外,GDirections 可以通过设置 GDirections.load 方法中的“locale”参数将行车路线说明翻译为其他语言。以上参考的电子表格也在已本地化的列中指示当前可用语言。

Google 地图 Javascript API 中支持 KML 与 GeoRSS 的哪些功能?

Javascript API 中的 GGeoXML 类使开发人员可以将 KML/KMZ 和 GeoRSS 文件叠加在地图的上方。可在此处查看示例。

以下网址记录了 GGeoXML 类当前支持的 KML 记录:

http://code.google.com/apis/kml/documentation/mapsSupport.html

将来可能会向 GGeoXml 类添加对其他地理空间特征的支持。回去重看或者保持对 Google 地理开发人员博客的更新信息的关注。

在使用 Google 地图 JavaScript API 里的 GGeoXML 时,正常显示所需的 KML 的大小和复杂性有什么限制?

以下网址记录了使用 GGeoXML 类时 KML 的显示大小和复杂性限制:

http://code.google.com/apis/kml/documentation/mapsSupport.html


能否在我的地图中添加广告?

可以,我们欢迎和鼓励您通过广告使您的地图混搭获得收入。Javascript API 现在通过 GAdsManager 类提供广告层功能,该功能在您的地图上的特殊广告层中显示内容相关的广告。这些广告与 ditu.google.cn 上的某些搜索上显示的广告相同。通过向 GAdsManager 提供您的 AdSense 内容发布商 ID,您将启用广告层,并在每次用户单击广告信息窗口中的链接时赚钱。

您还可以根据您的地图混搭将 AdSense 广告单元放在相同页面上地图之外的位置。

要注册 AdSense 并获得发布商 ID,或了解怎样将广告单元放在页面上,请访问 adsense.google.com

我通过在我的地图上投放广告能获得多少收益?
如果您使用广告层,则每次用户单击某个广告层的信息窗口中的链接时,您都会获得收益。无法准确估计您将从特定点击数获得多少收入,因为您的收入取决于广告商竞标的实际每次点击费用 (CPC)。但是,您可以放心,我们将一直发布预期给您带来最大收益的广告。AdSense 帮助中心提供有关获得 AdSense 收益的详细信息。
怎样找到我的 AdSense 发布商 ID?

要找到您唯一的 AdSense 发布商 ID 编号,请从 http://www.google.com/adsense 登录您的 AdSense 帐户。在我的帐户选项卡中,向下滚动到属性信息部分。您用于每个 AdSense 产品和功能的发布商 ID 将位于该部分中。

或者,您可以在您的 AdSense 代码中找到您的发布商 ID 编号。可以在您的网站的 HTML 源代码中找到 AdSense 代码,并可在类似以下所示的行中找到您的发布商 ID:

google_ad_client="ca-pub-xxxxxxxxxxxxxxxx";

什么是 AdSense 频道?

请参考 AdSense 帮助中心中的频道信息

哪些国家/地区可在广告层上做广告?

页面内容采用 AdSense 内容语言之一的任何开发人员都可以应用广告层。当前,广告层上将只显示来自美国的广告。随着程序的不断完善,来自其他国家/地区的广告商的广告也可能会显示。

我用了广告层,但我没有在地图上看到广告标记。哪里可能有问题?

如果您通过初始化您的地图上的 GAdsManager 来应用广告层但没有看到任何广告,可能有以下几种原因:

  • 首先请检查您的代码:确保您向 GAdsManager 构造函数中传递了有效的 AdSense ID,并确保您在初始化后在 GAdsManager 上调用了 enable()
  • 如果 Google 从未抓取过您的地图所在的页面,则您将需要等待 2 到 24 小时以便 Google 抓取。AdSense 需要抓取页面才能根据您的地图分析文本获取关键字。请确保设计了 robots.txt 文件,以便 Googlebot 可以抓取您的地图所在的目录。可在此处获得有关 Google 网站抓取的详细信息。
  • 查看 Googlebot 抓取的结果后,AdSense 可能选择不在您的网站上显示广告有若干种原因。请在 AdSense 帮助中心参考有关这些限制的信息
  • 如果您遵循了以上步骤,您会看到您的地图上偶尔显示广告标记。广告的显示位置取决于广告商确定的位置。您很可能看到广告标记显示在人口密集的城市周围,因为在这些地区有大量广告商。此外,很可能仅当地图中心位于可使用广告层广告的国家/地区时,您将才能看到广告显示。

怎样将 Google 地图 API 专业版客户端 ID 与 Google AJAX API 加载器配合使用?

要将 Google 地图 API 专业版(以前称为 Google 地图企业版)客户端 ID 与 Google AJAX API 加载器配合使用,请先使用您的 Google 地图 API 专业版密钥加载常用加载器:

<script type="text/javascript" src="http://www.google.cn/jsapi?key=ABCDEFG"></script>

加载 Google 地图 Javascript API 时,您必须将您的 Google 地图 API 专业版客户端 ID 作为附加参数提供:

google.load("maps","2", {"other_params":"client=gme-yourid"});

将您的密钥替换为“ABCEFG”,将客户端 ID 替换为“gme-yourid”。

以下网站提供有关将 Google 地图 Javascript API 与 Google AJAX API 加载器配合使用的信息:

http://code.google.com/apis/maps/document ation/index.html#AJAX_Loader

怎样使用 Google 地图 API 专业版客户端 ID 通过 SSL (HTTPS) 访问 Google 地图 API?

要通过 https 访问 Google 地图 API,您必须先告知 Google 地图 API 专业版支持团队您要在其中使用 Google 地图 API 的 https 网站。随后您将收到您网站的 Google 地图 API 专业版密钥,以及有关通过 https 访问 Google 地图 API 的说明。