-2

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

Google Maps API と JQuery Mobile v1.2 を使用してモバイル マップを作成しています。空間データ (バイクウェイ ポリライン レイヤーとバイク ラック ポイント レイヤー) を Google フュージョン テーブルに保存し、マップ上に表示しました。JQuery navbar の自転車と公園のアンカーを使用して、各レイヤーのオン/オフを切り替えたいと思います。デスクトップマップのチェックボックスでレイヤーのオン/オフを切り替えた経験がありますが、モバイルマップのナビゲーションバーの切り替えの外観とサイズを好みます。

私の理想的な機能は、自転車のレイヤーをオンにしてマップをロードし、ナビゲーション バーの自転車の部分を暗くして、他の Web アプリと同様に選択されていることを示すことです。ユーザーは、マップを使用して自転車レイヤーでより安全な自転車ルートを見つけ、目的地で自転車駐車レイヤーをオンにして、自転車をロックする場所を見つけることができます。各レイヤーは、個別にオンとオフを切り替えることができます。

ここにコードを貼り付けてみましたが、めちゃくちゃでした。上記のリンクで私のソースコードを確認してください。私はコーディングの初心者であり、助けていただければ幸いです。前もって感謝します。

更新: ジオロケーションが拒否された場合、マップが機能しないと誰かがコメントしたと思います。位置情報コードは次のとおりです。

// 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);

ここで、「map」は google.maps.Map オブジェクトへの参照です。

実施例

于 2012-10-21T21:59:39.930 に答える