Bing地图在Mozilla Firefox 26中不起作用

时间:2013-12-31 07:24:37

标签: firefox bing-maps

在Mozilla Firefox版本26上,bing地图不起作用。我没有缩放和定位(并且在firefox设置中启用了位置服务)。在没有任何错误或警告。在所有其他浏览器(IE,Chrome ...)都可以。哪里有问题?

3 个答案:

答案 0 :(得分:0)

根据supported browser information,它应该适用于Firefox 26。

  

Firefox 3.6及更高版本

在Windows上运行它时工作正常。

答案 1 :(得分:0)

function GetLocation() {
if (!!navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(UpdateLocation, HandleErrors);
}
}

function UpdateLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;

setPushpin(longitude, latitude);
document.getElementById('longitude').value = longitude;
document.getElementById('latitude').value = latitude;

Microsoft.Maps.Events.addHandler(map, 'click', changePosition);
}

function HandleErrors(error) {
switch (error.code) {
    case error.PERMISSION_DENIED: alert("user did not share geolocation data");
        break;
    case error.POSITION_UNAVAILABLE: alert("could not detect current position");
        break;
    case error.TIMEOUT: alert("retrieving position timed out");
        break;
    default: alert("unknown error");
        break;
}  
}

function setPushpin(longi, lati){
map.setView({ center: { latitude: lati, longitude: longi }, zoom: 16});
deletePushpin();
var newURL = window.location.protocol + "//" + window.location.host + "/";
var pushpin= new Microsoft.Maps.Pushpin(map.getCenter(), {icon:newURL+"images/marker.png", height:35, width:26}); 
map.entities.push(pushpin); 
pushpin.setLocation(new Microsoft.Maps.Location(lati, longi));
}

function deletePushpin(){
for(var i=map.entities.getLength()-1;i>=0;i--){
    var pushpin= map.entities.get(i); 
    if (pushpin instanceof Microsoft.Maps.Pushpin){ 
        map.entities.removeAt(i);  
    }
} 
}

changePosition = function (e) {
if (e.targetType == "map") {
    var point = new Microsoft.Maps.Point(e.getX(), e.getY());
    var loc = e.target.tryPixelToLocation(point);

    document.getElementById('longitude').value = loc.longitude;
    document.getElementById('latitude').value = loc.latitude;

    setPushpin(loc.longitude, loc.latitude);
}
 }

所以这是我获取当前位置并在其上放置图钉的代码。

我没有收到任何错误。地图没有做任何事情只是保持完整的世界观。

在所有其他浏览器上工作正常,它缩放,获取当前位置并在其上放置图钉。

这是我称之为map的地方:

 map = new Microsoft.Maps.Map(document.getElementById('placeForMap'), {credentials:"xxx",showMapTypeSelector:false, disableBirdseye: true});
GetLocation();

我尝试使用Bing Ajax 7控件,但同样的问题也存在,firefox中的bing map已经死了,在其他浏览器中工作正常。

答案 2 :(得分:0)

Bing Maps控件没有问题。 Firefox 26中有一些错误导致您遇到的问题。