我已经成功将OSM作为新的基础地图类型添加到了Google Maps API应用程序中。
接下来,我添加了一个新的叠加图类型,该类型在地图上添加了山坡阴影。https://developers.google.com/maps/documentation/javascript/maptypes?hl=zh-CN#OverlayMapTypes上有关覆盖地图类型的文档说:
“ [...]您可以将地图类型添加到现有MapType [...]
“叠加图类型将显示在它们所附加的任何基本图的顶部。”
并且“以下示例与上一个示例相同,除了我们在ROADMAP映射类型之上创建了一个图块叠加层MapType:”
但是在代码示例中,叠加地图类型始终显示在您选择的任何一种地图类型上。
如何使我的阴影覆盖地图类型仅显示在地图类型“ roadmap”和自定义“ OSM”地图类型上?编辑:更准确地说:实际上我想知道,是否有一种方法可以像上面的文档所建议的那样自动执行此操作。我知道,如何通过侦听maptypeid_changed事件来手动执行此操作。
有没有一种方法可以将我的叠加层地图类型作为复选框添加到mapTypeControl中,就像对默认卫星地图类型使用“标签”或对路线图地图类型使用“地形”一样? 编辑:直到几天前,上面的官方文档提出了一种方法来执行此操作,但并未准确描述它,并且链接的示例已损坏(404链接)。您的用户在这里发现了相同的问题:Google Maps api:为单独的地图叠加层自定义MapTypeControl
编辑: 我在下面发布了当前解决方案的jsFiddl。