-2

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

我正在使用谷歌地图 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 语句中添加一些备份坐标?

4

1 回答 1

0

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

我会建议:

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

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

工作示例

于 2012-10-21T21:59:39.930 回答