Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未从坐标(从阵列)在地图上绘制多边形_Javascript_Html_Google Maps Api 3 - Fatal编程技术网

Javascript 未从坐标(从阵列)在地图上绘制多边形

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> <

我想弄明白为什么我的谷歌地图上没有画多边形。 我关闭了阵列,但老实说,我看不出我做错了什么。 我从下面的代码中删除了GoogleAPI密钥,将其缩短了一点

有什么建议/反馈吗

<!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,