Javascript 地图标记不在IE上的地图中
这是我的密码Javascript 地图标记不在IE上的地图中,javascript,google-maps,internet-explorer,google-maps-api-3,Javascript,Google Maps,Internet Explorer,Google Maps Api 3,这是我的密码 var styles = [ { "featureType": "landscape", "stylers": [ {"weight": 0.1}, {"color": "#E7EDEF"} ] }, ... { "featureType": "poi.park", "elementType": "labels", "stylers": [ {"visibility": "on"}
var styles = [
{
"featureType": "landscape",
"stylers": [
{"weight": 0.1},
{"color": "#E7EDEF"}
]
},
...
{
"featureType": "poi.park",
"elementType": "labels",
"stylers": [
{"visibility": "on"}
]
}
];
var map;
function initialize() {
var centerM = new google.maps.LatLng(42.641185, 14.015790);
var iconBase = window.location.origin + Drupal.settings.basePath + 'sites/default/themes/actomedia/img/';
var mapOptions = {
zoom: 15,
center: centerM,
mapTypeId: google.maps.MapTypeId.ROADMAP,
styles: styles,
scrollwheel: false
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
// Map Marker & infoBox
markerOpt = {
map: map,
icon: iconBase + 'puntoEnergy_map_ico.png',
title: 'Punto Energy',
animation: google.maps.Animation.DROP
};
markerPicasso = new google.maps.Marker($.extend({position: centerM}, markerOpt));
}
google.maps.event.addDomListener(window, 'load', initialize);
地图在Chrome和Firefox中运行良好,但在IE中没有显示标记。有人知道怎么解决吗 我试图删除标记动画,检查代码中的所有逗号,但仍然不起作用 ---更新--- 在回答Anto Jurković的问题之后,我试图打印图标URL,但我发现window.location.origin中有一个bug,它返回未定义的内容给我 我将此代码放在js文件的顶部(surce)进行了修复
我正在使用以下功能使用Creting Marker:
createMarker(Map, legs[i].start_location, legs[i].start_address, markerletter);
function createMarker(map, latlng, html, color) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
shadow: iconShadow,
icon: getMarkerImage(color),
shape: iconShape,
zIndex: Math.round(latlng.lat() * -100000) << 5
});
//marker.myname = label;
google.maps.event.addListener(marker, 'click', function () {
//Set Infowindow Logic
});
return marker;
}
createMarker(映射,legs[i]。起始位置,legs[i]。起始地址,markerletter);
函数createMarker(映射、板条、html、颜色){
var contentString=html;
var marker=new google.maps.marker({
位置:latlng,
地图:地图,
影子:iconShadow,
图标:getMarkerImage(彩色),
形状:iconShape,
zIndex:Math.round(latlng.lat()*-100000)现在我正在调试IE10,但在那之后我也必须检查第9和第8个^^^我用IE10、9和8检查了这段代码,没有问题。唯一的区别是图标。最有可能的是div-map画布、html和body的样式。如果你将其作为文件加载,你会在IE中看到你的图标吗?
createMarker(Map, legs[i].start_location, legs[i].start_address, markerletter);
function createMarker(map, latlng, html, color) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
shadow: iconShadow,
icon: getMarkerImage(color),
shape: iconShape,
zIndex: Math.round(latlng.lat() * -100000) << 5
});
//marker.myname = label;
google.maps.event.addListener(marker, 'click', function () {
//Set Infowindow Logic
});
return marker;
}
function initialize() {
var Lattts = document.getElementById('lat').value;
var Longgs = document.getElementById('long').value;
var myLatlng = new google.maps.LatLng(parseFloat(Lattts), parseFloat(Longgs));
var map_canvas = document.getElementById('map_canvas');
var map_options = {
center: myLatlng,
zoom: 17,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(map_canvas, map_options)
var icon = {
url: 'https://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png'
};
var contentString = 'Contents';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
icon: icon,
zIndex: Math.round(myLatlng.lat() * -100000) << 5,
animation: google.maps.Animation.DROP
});
//marker.setAnimation(google.maps.Animation.BOUNCE);
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
if (marker.getAnimation() != null) {
marker.setAnimation(null);
} else {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
});
setTimeout(function () { marker.setAnimation(google.maps.Animation.BOUNCE); }, 2000);
}
google.maps.event.addDomListener(window, 'load', initialize);