LeJ*_*red 3 google-maps google-maps-api-3
我已经成功将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。
好吧,似乎没有本机的方法可以将覆盖地图类型绑定到基本地图类型,也不能使用Google的地图类型控件来覆盖地图类型。
因此,这是我最后要做的,以解决此问题: http : //jsfiddle.net/lejared/720L7wu0/3/
var ReliefCtrl = {/* see fiddle */};
Run Code Online (Sandbox Code Playgroud)
我已经构建了一个自定义控件(具有Google本地地图控件的外观)。此控件可切换我的叠加图类型(山体阴影)。您可以定义适用于此覆盖地图类型的基础地图类型的数组。如果选择了合适的基础地图类型,则控件将自动显示/隐藏自身。
2017-02-01:更新了小提琴以匹配Google地图控件的新本机外观。
| 归档时间: |
|
| 查看次数: |
6810 次 |
| 最近记录: |