Javascript 使用谷歌地图API 3.34地图缩放不起作用
我有一个网站,利用谷歌地图API和覆盖从ESRI服务提供的包裹线。在Google和Firefox中,地图缩放控件显示得很好 高亮显示发生在ESRI磁贴上 在IE 11中,缩放控制消失,地图静止(无法缩放或移动) 如您所见,缩放控件丢失,平铺上的线(黄线)与底图不对齐。这是因为平铺已放大,但贴图未放大。2014年的报告中有一个类似的问题,但在3.16版中得到了解决 以下是我构建地图的代码:Javascript 使用谷歌地图API 3.34地图缩放不起作用,javascript,google-maps-api-3,internet-explorer-11,Javascript,Google Maps Api 3,Internet Explorer 11,我有一个网站,利用谷歌地图API和覆盖从ESRI服务提供的包裹线。在Google和Firefox中,地图缩放控件显示得很好 高亮显示发生在ESRI磁贴上 在IE 11中,缩放控制消失,地图静止(无法缩放或移动) 如您所见,缩放控件丢失,平铺上的线(黄线)与底图不对齐。这是因为平铺已放大,但贴图未放大。2014年的报告中有一个类似的问题,但在3.16版中得到了解决 以下是我构建地图的代码: ///摘要 ///设置地图 ///参数 ///-mapDivID用于放置地图的div的字符串id ///
///摘要
///设置地图
///参数
///-mapDivID用于放置地图的div的字符串id
///-具有lat和lng属性的coords对象
///-缩放地图的默认缩放(我使用13)
///-方向显示方向的可选对象
函数startmap(mapDivID、坐标、缩放、方向){
var-maps=新数组();
var bounds=新数组();
var方向显示;
var定向服务;
//让副驾驶把地图放进去,检查确认它在那里。
var mapDiv=document.getElementById(mapDivID);
if(mapDiv){
变量选项={
缩放:缩放,
中心:coords,
动物控制:对,
ZoomControl选项:{
帖子:google.maps.ControlPosition.BOTTOM\u RIGHT
}
};
//我们有多个映射,所以我们需要按divID将它们存储在一个数组中,这样我们就不会重叠其中一个。
var-map={};
if(maps.indexOf(mapDivID)<0){
maps[mapDivID]=新的google.maps.Map(mapDiv,选项);
若有(指示){
directionsDisplay=新建google.maps.DirectionsRenderer;
directionsService=新的google.maps.directionsService;
setMap(maps[mapDivID]);
directions display.setPanel(document.getElementById('directions-panel');
var onChangeHandler=函数(e){
if(e.which&&e.which==13){
calculateAndDisplayRoute();
}
};
document.getElementById('txtOrigin')。addEventListener('keypress',onChangeHandler);
}
}
map=maps[mapDivID];
if(bounds.indexOf(mapDivID)<0){
bounds[mapDivID]=新的google.maps.LatLngBounds();
}
返回图;
}否则{
//无地图分区
console.error(mapDivID+“未找到”);
}
返回图;
}
startmap('map',{lat:-34.397,lng:150.644},13,null);
#地图{宽度:100%;高度:100%}
地图在这里
使用
代替:
zoomControlOptions: {
postion: google.maps.ControlPosition.BOTTOM_RIGHT
}
在您的屏幕上会出现平移交互,您可以放大/缩小感谢Hello Earth,但这只能使您可以使用滚轮进行放大和缩小,而无需按“Ctrl”。它仍然在背景中显示一个静态贴图,对缩放没有响应。只有ESRI层可以缩放。你的代码片段不起作用。问题是它需要一个Google Maps API的密钥,我不能把它放在那里让每个人都能看到。代码来自该站点,因此我知道它可以工作(在Chrome/Firefox中)。我只是想弄明白为什么它会在IE中被破坏。编辑你的代码片段时,只需要最少的必要代码就可以重现这个问题,当然,不需要你的API密钥。地图应该显示为该站点的代码片段允许无键访问Google Maps API。我添加了一个到Maps API的链接,但它给了我一个缺少键的错误。是否需要添加另一个链接才能使其正常工作?我尝试添加Google Maps API键并测试您的代码,它将显示“Maps未定义”错误,您在其中定义了Maps变量?我建议你可以参考来学习如何使用谷歌地图缩放,根据文档,我创建了一个示例,它在IE11中运行良好。
zoomControlOptions: {
postion: google.maps.ControlPosition.BOTTOM_RIGHT
}