Javascript 谷歌地图&x2B;JS(添加圆)
我想用JS在谷歌地图上画一个圆圈 我的代码: 按钮代码: INDEX.HTMLJavascript 谷歌地图&x2B;JS(添加圆),javascript,html,google-maps,geometry,Javascript,Html,Google Maps,Geometry,我想用JS在谷歌地图上画一个圆圈 我的代码: 按钮代码: INDEX.HTML <button type="button" class="btn btn-primary btn-sm" id="test1" onclick="DrawCircle()">Wyświetlk mapę 和用于绘制圆的函数: function DrawCircle() { draw_circle = new.google.maps.Circle({
<button type="button" class="btn btn-primary btn-sm" id="test1" onclick="DrawCircle()">Wyświetlk mapę
和用于绘制圆的函数:
function DrawCircle()
{
draw_circle = new.google.maps.Circle({
center: {lat: 52.94, lng: 20.1},
radius: 2000,
strokeColor: "#000",
strokeOpacity: 0.6,
strokeWeight: 2;
fillColor: "#0099AA",
fillOpacity: 0.25,
map: map
});
}
我有一个错误:
未捕获的语法错误:意外的标识符
(索引):198未捕获引用错误:未定义映射
什么变化/增加(repiar)?
我在这里和谷歌api文档中都找不到解决这个问题的方法
我将很高兴得到帮助您正在调用
mapping()
,可能在它被定义之前
JavaScript代码在HTML页面中的位置是什么
在调用mapping()
之前,确保您发布的JavaScript块位于HTML中
但是,我假设mapping()
作为一个函数无论如何都不是很有用,因为您已经在使用一个调用initialize
的load
侦听器
因此,我建议将这个mapping()
一起删除,同时删除代码周围的函数mapping(){…}
,无论代码放在哪里,它都应该自动工作。只需确保仅在初始化代码运行后调用DrawCircle
。例如,您可以将其放入initialize
函数本身
(顺便说一下,我不确定这行draw\u circle=…
是否符合您的要求。我假设您至少需要一个var
来防止意外创建全局变量。)
另外,我建议适当地缩进代码,不清楚不同的函数作用域在哪里
编辑:我注意到另一个问题:new.google.maps.circle
是无效代码(new
是关键字)。我猜你想要新的google.maps.circle
而不带第一个点?如果此语法错误会导致整个外部JavaScript文件无法加载(特别是因为您在注释中解释过,已将其包含在
区域中),它还将解释为什么找不到映射
您应该修复此错误,还应该确保在加载页面时打开开发人员控制台(在浏览器中按F12键),并查看控制台选项卡,因为您会看到那里报告的语法错误(可能带有指向错误发生在文件中确切位置的链接)。如果我删除脚本映射(),映射将不显示(javascript代码在另一个文件中)1)您是否也按照我的建议,删除了主代码周围的函数映射(){…}
包装器?2) 是的,但其他文件包括在哪里?我有index.html,其中只有div和function.js的头url。在函数JS中,我有这个脚本。好的,我认为问题是另一个。我在你的代码中发现了一个额外的语法错误,一开始我没有发现。这将解释为什么它不工作-因为你的整个JS文件没有加载由于语法错误!请阅读我在答案中添加的编辑。您的代码中有两个拼写错误:1new.google.maps.Circle({
(应该是new和google之间的空格)2.strokeWeight:2;
(应该是逗号)。
function mapping(){
var citymap =
{
warsaw:
{
center: {lat: 52.14, lng: 21.1},
population: 1740000
}
}
function initialize() {
var mapProp = {
center:new google.maps.LatLng(52.13 ,19.02),
zoom:6,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
for (var city in citymap)
{
var cityCircle = new google.maps.Circle({
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map,
center: citymap[city].center,
radius: Math.sqrt(citymap[city].population) * 30
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
}
function DrawCircle()
{
draw_circle = new.google.maps.Circle({
center: {lat: 52.94, lng: 20.1},
radius: 2000,
strokeColor: "#000",
strokeOpacity: 0.6,
strokeWeight: 2;
fillColor: "#0099AA",
fillOpacity: 0.25,
map: map
});
}