Maps 谷歌地图API v3,点击链接更改地图类型;“地图未定义”;
我使用的是官方文档中最简单的示例:Maps 谷歌地图API v3,点击链接更改地图类型;“地图未定义”;,maps,Maps,我使用的是官方文档中最简单的示例: function initialize() { var mapCent = new google.maps.LatLng($shirota, $dolgota); var myOptions = { zoom: $uvelichenie, center: mapCent, mapTypeId: google.maps.MapTypeId.SATELLITE }; var map = new google.maps.Map(
function initialize() {
var mapCent = new google.maps.LatLng($shirota, $dolgota);
var myOptions = {
zoom: $uvelichenie,
center: mapCent,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(
document.getElementById("map_canvas"),
myOptions);
}
我添加了此选项以动态更改地图类型,如官方文档中所述:function perekluchitDor() { map.setMapTypeId(google.maps.MapTypeId.ROADMAP); }
function initialize() { var mapCent = new google.maps.LatLng($shirota, $dolgota); var myOptions = { zoom: $uvelichenie, center: mapCent, mapTypeId: google.maps.MapTypeId.SATELLITE }; var map = new google.maps.Map( document.getElementById("map_canvas"), myOptions); }
将其转换为HTML部分中的href:function perekluchitDor() { map.setMapTypeId(google.maps.MapTypeId.ROADMAP); }
一切都很简单,但仍然不起作用。我所能看到的只是当我点击链接时出现的错误“map is not defined”onclick=“perekluchitDor();”>
我想知道我做错了什么?这是一个可变范围的问题。您需要在函数之外声明,如下所示(代码的第1行) 在用户定义函数之外使用,两者的作用完全相同。二者都 创建一个全局变量。全局变量可以从任何函数中的任何函数访问 当前加载的窗口或框架。如果我们在用户定义的 函数在作用域中是局部的,我们只能在函数内部看到它 您只需要从map语句中删除var。您不需要在函数之外声明mapmap