Javascript 调用函数;新google.maps.Circle“;从初始化失败
有人能描述一下我,问题在哪里,以及如何修复代码吗 这不起作用:Javascript 调用函数;新google.maps.Circle“;从初始化失败,javascript,function,google-maps,initialization,Javascript,Function,Google Maps,Initialization,有人能描述一下我,问题在哪里,以及如何修复代码吗 这不起作用: function initialize() { var b = new google.maps.LatLng(49.190033, 16.6150523); var Copt = {center:b, map: map, radius: 1000}; var mapOptions = { zoom: 13, center: b, mapTypeId: google.maps.MapTypeId.ROADMAP }
function initialize() {
var b = new google.maps.LatLng(49.190033, 16.6150523); var Copt = {center:b, map: map, radius: 1000};
var mapOptions = { zoom: 13, center: b, mapTypeId: google.maps.MapTypeId.ROADMAP }
var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
cir();
//var C = new google.maps.Circle(Copt);C.setMap(map);
}
function cir(){
var C = new google.maps.Circle(Copt); C.setMap(map);
}
但当我将函数cir()的内容放入initialize中时,它的工作原理是:
这里
我认为,这与部件
但我真的不知道该怎么做,如何将函数置于initialize之外,以及它是如何工作的
您能否创建一个用于创建圆的函数的简短示例并从initialize调用它?我认为您遇到的问题是,
C
函数的作用域中没有map
变量。试试这个:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body onload="initMap();">
<div id="map_canvas"></div>
<script>
function initMap() {
var options = {
// your options here
};
var map = new google.maps.Map(document.getElementById('map_canvas'), options);
drawCircle(map);
};
function drawCircle(map) {
// draw circle logic in here; use map as you would normally
};
</script>
</body>
</html>
函数initMap(){
变量选项={
//你的选择在这里
};
var map=new google.maps.map(document.getElementById('map_canvas'),选项);
画圈(地图);
};
函数drawCircle(地图){
//在这里画圆逻辑;像平常一样使用地图
};
将
map
参数传递给drawCircle()
函数意味着它可以使用它。我不熟悉Circle
对象,但您应该能够从这里实现您的代码。我通常声明var-map代码>全局。这可以避免传递地图参考。您好,谢谢您的回答和好主意。我尝试了“函数drawCircle(map){alert(“alert”);C=new google.maps.Circle({center:b,map:map,radius:1000});};”,但不幸的是,问题仍然是一样的(我只得到了map和alert)。如果使用Chrome,您应该会在Web Inspector控制台中发现任何JavaScript错误。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body onload="initMap();">
<div id="map_canvas"></div>
<script>
function initMap() {
var options = {
// your options here
};
var map = new google.maps.Map(document.getElementById('map_canvas'), options);
drawCircle(map);
};
function drawCircle(map) {
// draw circle logic in here; use map as you would normally
};
</script>
</body>
</html>