到目前为止,我一直在基于 JSF 和 RF3.3 的应用程序中使用 GoogleMaps API 在应用程序中显示谷歌地图。
为此,我使用 gmaps4jsf。
但是,与每个地图请求的情况一样,请求 googlemap api 来验证 api 密钥。当我的应用程序位于公共域时,这没有问题。
现在我的应用程序在我公司的内部域上,与外部世界没有互联网连接。因此我将无法为应用程序使用 gmaps4jsf 或 googlemaps api。
可能的解决方法是什么?
到目前为止,我一直在基于 JSF 和 RF3.3 的应用程序中使用 GoogleMaps API 在应用程序中显示谷歌地图。
为此,我使用 gmaps4jsf。
但是,与每个地图请求的情况一样,请求 googlemap api 来验证 api 密钥。当我的应用程序位于公共域时,这没有问题。
现在我的应用程序在我公司的内部域上,与外部世界没有互联网连接。因此我将无法为应用程序使用 gmaps4jsf 或 googlemaps api。
可能的解决方法是什么?
我不知道解决方法,但我知道另一种方法:要求 googlemaps api 使用另一个图块提供程序。例如,您可以使用 OpenStreetMap 瓦片而不是 Google 地图瓦片。
样品在这里
当您保留 googlemaps api 时,这不应该是太多的工作。
您可以在内部服务器上自由地存储来自 openstreetmap 的地图图块。
PS:下次试试Open Layers。
您不能在 Intranet 上使用免费 API,因此您需要 Premier/Business 许可证。这得到了 Google 对此类问题的建议的支持。
但是:即使您获得在专用网络上使用 API 的许可,地图图块也来自互联网(除非您有空间和权限自行存储它们),因此您仍然可能需要互联网连接。