如何绘制形状在谷歌地图(1或更多)使用JavaScript


how to drawing shapes in google map (1 or more) using JavaScript

我正在使用谷歌地图绘制形状但是,当我试图从数据库中获取lat和LNG并将其分配给map

时,我会出错。

我有格式数据正确后,得到它从数据库

for (var s = 0; s < array_points.length; s++) {
    var shapeCoordinates = array_points[s];
    var shap = Array();
    for (var sh = 0; sh < shapeCoordinates.length; sh++) {
        shap.push({lat: shapeCoordinates[sh]['lat'], lng: shapeCoordinates[sh]['lng']});
        var drawingManager = new google.maps.Polygon({
            paths: shap,
            strokeColor: '#FF0000',
            strokeOpacity: 0.8,
            strokeWeight: 2,
            fillColor: '#FF0000',
            fillOpacity: 0.35
        });
    }
}

我得到以下错误

Uncaught InvalidValueError: at index 0: not a LatLng or LatLngLiteral: in property lat: not a number

array_points有3个形状

shapeCoordinates有形状的坐标

请将此变量转换为整数,这将解决您的问题。

 parseFloat(shapeCoordinates[sh]['lat'])

请试试这个

for (var s = 0; s < array_points.length; s++) {
    var shapeCoordinates = array_points[s];
    var shap = [];
    for (var sh = 0; sh < shapeCoordinates.length; sh++) {
        shap.push({lat: shapeCoordinates[sh]['lat'], lng: shapeCoordinates[sh]['lng']});
    }
        var drawingManager = new google.maps.Polygon({
            paths: shap,
            strokeColor: '#FF0000',
            strokeOpacity: 0.8,
            strokeWeight: 2,
            fillColor: '#FF0000',
            fillOpacity: 0.35
        });
    drawingManager.setMap(map);    
}