我正在构建一个网络应用程序,需要提供一些覆盖在某些 map 上的实时跟踪信息。我的要求相当简单:
- 我需要获取一系列纬度/经度坐标,并在这些位置上叠加简单的标记以及少量相关的文本信息(即标记处的标签和/或工具提示)
- 允许用户缩放/平移
- 使用开放的客户端技术(例如 AJAX,而不是 flash/active-x)
- 允许他们配置自动刷新间隔的客户端控件会很好(但不是必需的)
- 可部署在 Tomcat 等标准 servlet 容器中
- 可部署在专用网络中(即无法访问互联网上的网络服务来获取数据)
- 提供基本 map 数据(我没有自己的)
- 商业或开源都可以
This question建议GeoServer + OpenLayers ,但需要一个开源解决方案(我不需要)。随意浏览一下这些网站,似乎需要付出合理的努力才能实现这一点,而且我不清楚 GeoServer 是否真的附带 map 数据。这是关键,我没有自己的 map 数据。我想要一个提供基本 map 数据的库。我不需要详细的街道信息,只需要基本的地理、政治边界和主要城市就足够了。
我找到了Dundas Maps看起来它可以很好地满足我的需求,但是,它是针对 ASP.NET 的,所以它不是一个选项。
最佳答案
Geoserver 不附带 map 数据,但没有 map 服务器附带。根据您需要世界哪个地区的数据,您可以检查例如Openstreetmap、自然地球数据和地方当局。您必须从自己的服务器提供数据(=背景 map ),以满足您的“可在专用网络中部署”的要求。
使用 OpenLayers 前端设置 Geoserver 非常简单。标记和自定义标记很简单(Geoserver 使用标准 SLD)。 Geoserver 默认提供的“预览”页面是开发网站的良好基础,据我所知,Tomcat 是 Geoserver 的推荐容器。
关于java - 需要 Java 兼容的 GIS 库/数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3753179/