2

みなさん、GeolocationAPIを使用してエンドユーザーを見つけるWebアプリケーションを作成しています。Internet Explorer 9を除いて、私が考えることができるほとんどすべてのプラットフォームでうまく機能します。GoogleツールバーをInternetExplorerのブラウザウィンドウにロードすると、すべてがスムーズに進みます。これが私が扱ってきた問題のあるコードのチャンクです:

if (navigator.geolocation) {
            var locationMarker = null;
            navigator.geolocation.watchPosition(
                function( position ){
                    var point = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);    
                    if (!locationMarker) {
                        locationMarker = addMarker(
                            position.coords.latitude,
                            position.coords.longitude,
                            "Initial Position"
                        );
                    }
                    else{
                        updateMarker(
                            locationMarker,
                            position.coords.latitude,
                            position.coords.longitude,
                            "Updated / Accurate Position"
                        );
                    };
                    map.setCenter(point);
                    if (map.zoom < 17){
                        map.setZoom(17);
                    };
                },
                function( error ){
                    console.log( "Something went wrong: ", error );
                },
                {
                    timeout: (5 * 1000),
                    maximumAge: (1000 * 60 * 15),
                    enableHighAccuracy: true
                }
            );
        }
        else {
            alert("Geolocation is not supported by this browser");
        }

Internet Explorer 9を使用してアプリケーションにアクセスするたびに、「ジオロケーションはこのブラウザーではサポートされていません」というアラートが表示されます。それは、Googleツールバーをアクティブにしていない限りです。ただし、Googleツールバーがアクティブな場合は、Googleツールバーが権限を処理します。

IE9でジオロケーションを機能させるにはどうすればよいですか?私のアプリケーションは、Safari、Firefox、Chrome、iOS、Androidで問題なく動作します。私は完全に困惑しています。

ありがとう、タイラー・ワーリング

4

1 に答える 1

4

ユーザー1303379、

IE9 と IE10 は両方ともジオロケーションをサポートしていますが、以前のバージョンの IE はサポートしていません ( http://caniuse.com/#feat=geolocationを参照してください)。これは、IE9 http://blogs.msdn.com/b/ie/archive/2011/02/17/w3c-geolocation-api-in-ie9.aspxの地理位置情報に関する IE によるブログ投稿で、テスト ページは次のとおりです。navigator.geolocation.watchPosition上記のように使用します。

地理位置情報をサポートしていないブラウザの場合は、 https: //github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills にリストされている地理位置情報ポリフィルのいずれかを使用することを検討してください。

IE9 と IE10 は、ユーザーに位置情報を共有するかどうかを尋ねますhttp://cl.ly/image/0X0o2F0s1N03私の推測では、ある時点で位置情報へのアクセスを拒否した可能性があります。

Google ツールバーは、IE8 の時代に地理位置情報を特定する機能を追加しましたhttp://googletoolbarhelp.blogspot.com/2010/02/google-toolbar-6413211732-for-ie.htmlあなたが説明したことから、Google ツールバーが開始されたように聞こえますネイティブの IE9 ジオロケーションがアクセスを拒否されたため、ジオロケーションを提供します。

于 2013-01-03T20:39:54.043 に答える