Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 映射Api v3自定义控件不适用于IE8_Javascript_Google Maps - Fatal编程技术网

Javascript 映射Api v3自定义控件不适用于IE8

Javascript 映射Api v3自定义控件不适用于IE8,javascript,google-maps,Javascript,Google Maps,我为“地图”应用程序使用自定义控件。它在FF、Safari、Chrome和IE9上运行良好,但在IE8或IE7上似乎没有触发更改事件?这里出了什么问题: function bf_mapstyle_Control(controlDiv, map) { controlDiv.style.paddingTop = '5px'; controlDiv.style.paddingRight = '20px'; // Set CSS for the control border var

我为“地图”应用程序使用自定义控件。它在FF、Safari、Chrome和IE9上运行良好,但在IE8或IE7上似乎没有触发更改事件?这里出了什么问题:

function bf_mapstyle_Control(controlDiv, map) {

  controlDiv.style.paddingTop = '5px';
  controlDiv.style.paddingRight = '20px';

  // Set CSS for the control border
  var controlUI = document.createElement('DIV');
  controlDiv.appendChild(controlUI);

  // Set CSS for the control interior
  var controlText = document.createElement('DIV');
  controlText.innerHTML = '<select id="select_mapstyle" style="font-family: Verdana,Arial,sans-serif; font-size : 12px; border: 1px solid #D8D8D8;border-radius: 3px; padding: 5px;">' + 
              '<option value="0">Google Karte</option>' +
              '<option value="1">Google Satellit</option>' +
              '<option value="2" selected>OpenStreetMap</option>' +
              '<option value="3">OpenCyleMap</option></select>';
  controlUI.appendChild(controlText);
  google.maps.event.addDomListener(controlUI, 'change', function() {
        var tid = document.getElementById('select_mapstyle').value;
        changeMapType(tid);
  });

};

function changeMapType(inType){
    switch (inType){
        case '0' : map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
                 break;
        case '1' : map.setMapTypeId(google.maps.MapTypeId.HYBRID);
                 break;
        case '2' : map.setMapTypeId('OSM');
                 break;
        case '3' : map.setMapTypeId('OSM Cycle');
                 break;
    }
}
函数bf\u mapstyle\u控件(controlDiv,map){
controlDiv.style.paddingTop='5px';
controlDiv.style.paddingRight='20px';
//为控件边框设置CSS
var controlUI=document.createElement('DIV');
controlDiv.appendChild(controlUI);
//为控件内部设置CSS
var controlText=document.createElement('DIV');
controlText.innerHTML=''+
“谷歌卡丁车”+
“谷歌卫星”+
“开放街道地图”+
“OpenCyleMap”;
controlUI.appendChild(controlText);
google.maps.event.addDomListener(controlUI,'change',function()){
var tid=document.getElementById('select_mapstyle')。值;
更改地图类型(tid);
});
};
函数changeMapType(inType){
开关(inType){
案例“0”:map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
打破
案例“1”:map.setMapTypeId(google.maps.MapTypeId.HYBRID);
打破
案例“2”:map.setMapTypeId('OSM');
打破
案例“3”:map.setMapTypeId('OSM循环');
打破
}
}
IE中的“change”事件不会在DOM中冒泡(我想可能是在IE9中)。您必须将事件处理程序放在
元素本身上