【问题标题】:Toggle Google Maps API fusionLayer with anchor使用锚点切换 Google Maps API fusionLayer
【发布时间】:2012-10-21 09:33:19
【问题描述】:

http://rickgutierrez.bol.ucla.edu/map_mobile6.htm

我正在使用 google maps API 和 JQuery Mobile v1.2 制作移动地图。我将空间数据(自行车道折线层和自行车架点层)存储在谷歌融合表中,并将它们显示在地图上。我想使用 JQuery 导航栏中的自行车和公园锚点打开/关闭每一层。我有使用桌面地图上的复选框打开/关闭图层的经验,但更喜欢移动地图的导航栏切换的外观和大小。

我的理想功能是加载地图时打开自行车图层,并且导航栏的自行车部分变暗以表示它已被选中,就像在其他网络应用程序上一样。用户可以使用地图找到带有自行车层的更安全的自行车路线,然后在目的地打开自行车停车层以找到锁定自行车的地方。每一层都可以独立打开和关闭。

我尝试将代码粘贴到此处,但结果一团糟。请在上面的链接中查看我的源代码。我是编码新手,不胜感激。提前致谢。

更新:我猜有人评论说,如果地理定位被拒绝,地图就不起作用。这是地理位置代码:

// allow iPhone or Android to track movement
        if ( useragent.indexOf('iPhone') !== -1 || useragent.indexOf('Android') !== -1 ) {
            navigator.geolocation.watchPosition( 
                displayLocation, 
                handleError, 
                { 
                    enableHighAccuracy: true, 
                    maximumAge: 30000, 
                    timeout: 27000 
                }
            );          

        // or let other geolocation capable browsers to get their static position
        } else if ( navigator.geolocation ) {
            navigator.geolocation.getCurrentPosition( displayLocation, handleError );
        }

我该如何解决这个问题?我猜我需要在 else 语句中添加一些备份坐标?

【问题讨论】:

  • 如果我拒绝地理定位,您的地图将无法使用。
  • 我希望地图能够准确地打开并加载用户所在的位置。谷歌地图在手机上运行有点慢,所以如果你不必等待地图在你不在的位置打开(比如我告诉地图打开并以市中心为中心),它会改善体验滑动以查找您的实际位置。如果用户拒绝地理定位,我将如何将标准地理坐标传递给地图?
  • 如何解决地理定位问题是另一个问题。
  • w3schools.com/jquery/eff_toggle.asp 我查看了此处的信息并尝试将激活切换“按钮”的项目更改为我想要按下以切换地图图层的锚点的 ID。我将切换“p”的东西更改为我用来存储地图变量的名称。
  • 您为什么希望它适用于 Google Maps API 对象?

标签: jquery-mobile google-maps-api-3 onclick toggle navbar


【解决方案1】:

将监听点击事件的 google.maps.event.addDomListener 添加到要执行切换的元素。在与该侦听器关联的函数中,添加您的代码以切换层。

我建议:

if (layer.getMap() == null) layer.setMap(map); else layer.setMap(null);

其中“地图”是对您的 google.maps.Map 对象的引用。

Working example

【讨论】:

  • developers.google.com/maps/documentation/javascript/events 我查看了此处的信息以了解如何正确设置 google.maps.event.addDomListener。一个问题,我必须告诉函数将点击什么在我的情况下是导航栏中的
  • 我不会遇到谷歌地图 api 代码不接受 html id 的相同问题吗?跨度>
猜你喜欢
相关资源
最近更新 更多
热门标签