gpt4 book ai didi

javascript - IE 上的 Google Maps API v3 问题

转载 作者:行者123 更新时间:2023-11-29 20:18:01 25 4
gpt4 key购买 nike

您好,我有一个使用 Google Maps API v3 获取成员(member)位置信息的网站。

但是使用 Internet Explorer 我有几个问题:

1.- 当网站加载 javascript 时抛出错误(仅在 IE 上):_

Message: Invalid property value.
Line: 33
Char: 212
Code: 0
URI: http://maps.gstatic.com/cat_js/intl/en_gb/mapfiles/api-3/4/7/%7Bmain,geometry%7D.js

这是我正在加载的 JS:http://maps.google.com/maps/api/js?libraries=geometry&sensor=true

这是该文件的最后一部分(导致问题的部分):

[...]
var loadScriptTime = (new Date).getTime();
getScript("http://maps.gstatic.com/cat_js/intl/en_gb/mapfiles/api-3/4/7/%7Bmain,geometry%7D.js");
})();

2.- map 加载并显示了正确的位置,但它没有显示任何控件并且无法与 map 交互(这可能是因为第一个错误)

有人知道怎么解决吗?

谢谢!

编辑 --------------------------

这是我用来加载 map 的函数:

function initialize() {

london = new google.maps.LatLng(51.5, 0);
uk = new google.maps.LatLng(55.7, -4 );

var myOptions = {
backgroundColor: '#FFFFF',
zoom: 12,
navigationControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map_canvas = document.getElementById("map_canvas");

map = new google.maps.Map(map_canvas, myOptions);


google.maps.event.addListener(map, 'mouseover', function(event) {
$(map_canvas).ancestors()[0].addClassName("bigGMap");
});

google.maps.event.addListener(map, 'mouseout', function(event) {
$(map_canvas).ancestors()[0].removeClassName("bigGMap");
});


google.maps.event.addListenerOnce(map, 'click', function(event) {
placeMarker(event.latLng);
});

getMyLocation();


}

function getMyLocation()
{
// Try W3C Geolocation (Preferred)
if(navigator.geolocation) {
browserSupportFlag = true;
navigator.geolocation.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
map.setCenter(initialLocation);
}, function() {
handleNoGeolocation(browserSupportFlag);
});
// Try Google Gears Geolocation
} else if (google.gears) {
browserSupportFlag = true;
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.latitude,position.longitude);
map.setCenter(initialLocation);
}, function() {
handleNoGeoLocation(browserSupportFlag);
});
// Browser doesn't support Geolocation
} else
{
browserSupportFlag = false;
handleNoGeolocation(browserSupportFlag);
}

}

function handleNoGeolocation(errorFlag) {
map.setZoom(6),
map.setCenter(uk);
map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
}


function loadMapScript() {
var map_api = document.createElement("script");
var gears = document.createElement("script");

map_api.type = "text/javascript";
map_api.src = "http://maps.google.com/maps/api/js?libraries=geometry&sensor=true&callback=initialize";

gears.type = "text/javascript";
gears.src = "http://code.google.com/apis/gears/gears_init.js";

document.body.appendChild(map_api);
document.body.appendChild(gears);
}

最佳答案

好的,我终于找到问题了。它在初始化函数中

function initialize() {

london = new google.maps.LatLng(51.5, 0);
uk = new google.maps.LatLng(55.7, -4 );


var myOptions = {
backgroundColor: '#FFFFFF ',
zoom: 12,
navigationControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
[...]

在 backgroundColor 中,我有 5 F 的“#FFFFF”而不是 6“#FFFFFF”。就这样。抱歉发帖。但我希望它可以帮助人们不要在这个问题上浪费太多时间。

关于javascript - IE 上的 Google Maps API v3 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5472374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com