Javascript 未从坐标(从阵列)在地图上绘制多边形
我想弄明白为什么我的谷歌地图上没有画多边形。 我关闭了阵列,但老实说,我看不出我做错了什么。 我从下面的代码中删除了GoogleAPI密钥,将其缩短了一点 有什么建议/反馈吗Javascript 未从坐标(从阵列)在地图上绘制多边形,javascript,html,google-maps-api-3,Javascript,Html,Google Maps Api 3,我想弄明白为什么我的谷歌地图上没有画多边形。 我关闭了阵列,但老实说,我看不出我做错了什么。 我从下面的代码中删除了GoogleAPI密钥,将其缩短了一点 有什么建议/反馈吗 <!DOCTYPE HTML> <html> <head> </head> <body> <div id="map" style="width:100%;height:400px;"></div> </body> <
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<div id="map" style="width:100%;height:400px;"></div>
</body>
<script>
function initialize()
{
//fill array with coordinates
var path = [
[51.14920179999362, 3.706512451171875],
[50.99042122689005, 3.475799560546875],
[50.93852713736125, 3.73809814453125],
[50.95929172950454, 4.003143310546875],
[51.108695514831865, 3.972930908203125]
];
//Options for the map
var mapOptions = {
zoom: 10,
center: new google.maps.LatLng(51.0108706, 3.7264613),
}
//generate map
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
//options for the polygon
var polyOptions = {
paths: path,
strokeColor: '#FF0000',
strokeWeight: 2,
strokeOpacity: 0.8,
fillColor: '#FF0000',
fillOpacity: 0.35,
editable: false, //editeren van de polygon
draggable: false //verplaatsen van de polygon
};
//create the polygon
var polygon = new google.maps.Polygon(polyOptions);
polygon.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</html>
函数初始化()
{
//用坐标填充数组
变量路径=[
[51.14920179999362, 3.706512451171875],
[50.99042122689005, 3.475799560546875],
[50.93852713736125, 3.73809814453125],
[50.95929172950454, 4.003143310546875],
[51.108695514831865, 3.972930908203125]
];
//地图选项
变量映射选项={
缩放:10,
中心:新google.maps.LatLng(51.0108706,3.7264613),
}
//生成地图
var map=new google.maps.map(document.getElementById('map'),mapOptions);
//多边形的选项
var多选项={
路径:路径,
strokeColor:“#FF0000”,
冲程重量:2,
笔划不透明度:0.8,
填充颜色:'#FF0000',
不透明度:0.35,
可编辑:false,//editeren van de polygon
draggable:false//verplaatsen van de polygon
};
//创建多边形
var polygon=新的google.maps.polygon(polyOptions);
多边形.setMap(map);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
将数组数组转换为latlnterral
对象数组(或LatLng
对象)
如果更换,该怎么办
就在带有,
的路径之后,
浏览器控制台中是否有任何输出可以帮助解释该行为?我收到一条javascript eror:消息:“在索引0处:在索引0处:不是LatLng或LatLngLiteral:不是对象”
(因为您传递的是数组,而不是LatLng或LatLngLiteral对象)@拉米兹:那个“;”不应该在那里,这是正确的,但仍然没有绘制多边形。我已经为此编辑了代码@tatmanblue:错误:“在索引0:在索引0:不是LatLng或LatLngLiteral:不是对象”@geocodezip:也发现了,但如何修复它?我是谷歌地图api js的新手。我知道你在那里做了什么。。。简直太神奇了!谢谢你的帮助!现在我可以继续了。
var fixedPath = [];
for (var i=0; i<path.length; i++) {
fixedPath.push({lat:path[i][0],lng:path[i][1]});
}
//options for the polygon
var polyOptions = {
paths: fixedPath,