gpt4 book ai didi

javascript - 从初始化调用 "new google.maps.Circle"的函数失败

转载 作者:行者123 更新时间:2023-11-30 18:34:12 25 4
gpt4 key购买 nike

有人可以描述我,问题出在哪里以及如何修复代码吗?

这是行不通的:

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() 的内容放入初始化时,它的工作原理是:这里

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);
}

我认为,这与<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
部分有关但真的不明白该怎么做,如何在初始化之外放置一个函数以及它是如何工作的。

您能否创建一个用于创建圆并从初始化中调用它的函数的简短示例?

最佳答案

我认为您遇到的问题是,您的 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>

map 参数传递给您的 drawCircle() 函数意味着它可以使用它。我不熟悉 Circle 对象,但您应该能够从这里实现您的代码。

关于javascript - 从初始化调用 "new google.maps.Circle"的函数失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8762994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com