【问题标题】:Adding custom pattern overlays on Google Maps在 Google 地图上添加自定义图案叠加层
【发布时间】:2011-11-06 10:51:28
【问题描述】:

我目前正在使用 Google Maps API,并且愿意尝试其他免费的地图 API 来完成我的任务。

在我正在进行的一个项目中,我需要能够将多个形状叠加层叠加在一起。我最初的想法是让第一个覆盖层使用不同深浅的纯色。对于后续的叠加层,我计划使用不同的颜色编码图案......例如:第二个叠加层使用颜色编码的条纹图案,另一个叠加层使用颜色编码的复选框图案。这样,我可以堆叠这些覆盖层来表示多个事物。对于第一个覆盖层,我可以使用Polygon 对象创建不规则形状边界,并且可以根据相关值在多边形上设置不同的填充颜色。

经过挖掘,Google Maps API 中的 Polygon 对象似乎只接受填充和描边颜色,而我似乎无法在 Polygon 对象上设置自定义图案。我希望它至少会采用 PNG 模式文件,但事实并非如此。我可以使用的最接近的东西是 GroundOverlay 对象,但这对我不起作用,因为它只接受 2 个坐标(我相信左上角和右下角),而我需要在不规则形状上创建自定义图案覆盖。

我可以使用 Google Maps API 或任何其他地图 API(Bing、Yahoo 等)来完成此操作吗?是否有任何第三方 API 允许我在 Google 地图上集成自定义图案叠加层?

【问题讨论】:

    标签: google-maps map overlay bing-maps


    【解决方案1】:

    我不相信您提到的任何 API 都支持带图案的矢量形状层。我能想到的两个选项是:

    • 使用半透明的填充颜色。假设您有一个具有半透明红色多边形的图层,而顶部的另一个图层具有半透明蓝色多边形 - 它们之间的重叠区域将用组合颜色填充(即在这种情况下为紫色)。 Bing 地图当然支持用于多边形填充的 Alpha 通道,我怀疑 Google 地图也支持。
    • 与其使用矢量形状图层,不如使用您想要的任何填充图案将您的数据渲染为栅格图层。将这些图层切割成 256 像素 x 256 像素的瓷砖,根据四键瓷砖编号系统进行编号,并将它们作为自定义瓷砖图层放置在地图上。 (即内置路线图和航拍图块的显示方式)。如果将图块渲染为 PNG,则可以将多个图层堆叠在一起,并具有透明(或半透明)区域以显示下方图层中的数据。根据您的数据来源,您可能会发现 Mapnik 或 Geoserver 等工具可用于创建切片图层。

    【讨论】:

      【解决方案2】:

      如果您只能使用笔触图案而不是填充图案,那么最新版本的 Bing 地图 sdk 允许您在创建多边形时设置 strokeDashArray。也许这足以识别您必须在地图上叠加的不同形状。

      希望对您有所帮助...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多