0

嗨,我目前正在玩地理定位,它适用于除 IE 之外的所有内容,因为它似乎不支持 Google 并且想使用 Bing 有没有人知道如何使 IE 友好的方向......它已经困扰我好几天了!

这是我的代码:

function fallback() {
    var myOptions = {
        center: new google.maps.LatLng(51.43255949795703, - 0.461750328540802),
        zoom: 14,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById("Map_Canvas"),
    myOptions);

    var markerPos = new google.maps.LatLng(51.43255949795703, - 0.461750328540802);
    var marker = new google.maps.Marker({
        position: markerPos,
        map: map,
        title: "The Harpers Hairdressing"
    });
}

function initGeolocation() {
    if (navigator.geolocation) {
        // Call getCurrentPosition with success and failure callbacks 
        navigator.geolocation.getCurrentPosition(success, fail);
    } else {
        fallback()
    }
}
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;

function success(position) {
    directionsDisplay = new google.maps.DirectionsRenderer();
    coords = new google.maps.LatLng(position.coords.latitude,
    position.coords.longitude);
    var myOptions = {
        zoom: 12,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        center: coords
    }
    map = new google.maps.Map(document.getElementById("Map_Canvas"),
    myOptions);
    directionsDisplay.setMap(map);
    calcRoute();
}

function calcRoute() {
    var start = coords;
    var end = new google.maps.LatLng(51.43255949795703, - 0.461750328540802);
    var request = {
        origin: start,
        destination: end,
        travelMode: google.maps.TravelMode.DRIVING
    };
    directionsService.route(request, function (result, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(result);
        }
    });
}

function fail() {
    fallback();
}
4

1 回答 1

0

快速搜索显示 IE9 应该支持地理定位,但它不如其他浏览器准确。对于 IE8 和更早版本,您似乎必须使用“polyfill”,例如Webshims

于 2012-09-17T19:37:08.647 回答