Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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 有没有办法在服务器端(Node.js)使用GoogleMapsAPIv3?_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 有没有办法在服务器端(Node.js)使用GoogleMapsAPIv3?

Javascript 有没有办法在服务器端(Node.js)使用GoogleMapsAPIv3?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我在客户端上扩展多边形形状。请看我的问题()来理解我的确切意思。我在浏览器中进行所有计算,然后将结果发送到服务器并存储在数据库中。我使用此功能(从): ?您是希望只回显地图的静态图像,还是希望它具有响应性,但只在服务器上进行计算。如果您想要的是后者,那么您需要的是ajax。只需制作一个rest api,它接受您想要的参数,计算您想要的并将响应发送给客户端。您找到解决方案了吗?我找到的唯一解决办法是在一个自编的API中模拟Google函数,并提供一些功能。 this.extendPolyg

我在客户端上扩展多边形形状。请看我的问题()来理解我的确切意思。我在浏览器中进行所有计算,然后将结果发送到服务器并存储在数据库中。我使用此功能(从):


?您是希望只回显地图的静态图像,还是希望它具有响应性,但只在服务器上进行计算。如果您想要的是后者,那么您需要的是ajax。只需制作一个rest api,它接受您想要的参数,计算您想要的并将响应发送给客户端。您找到解决方案了吗?我找到的唯一解决办法是在一个自编的API中模拟Google函数,并提供一些功能。
    this.extendPolygon = function(polyline, offset) {
        var distance = Number(offset) * 1000;
        var numPts = polyline.getPath().getLength();
        var bounds = new google.maps.LatLngBounds();

        for (var i=0; i< numPts; i++) {
            bounds.extend(polyline.getPath().getAt(i));
        }

        var center = bounds.getCenter();
        var extendedPolyPts = [];
        for (var i=0; i< numPts; i++) {
            var heading = google.maps.geometry.spherical.computeHeading(center,polyline.getPath().getAt(i));
            var initialDist = google.maps.geometry.spherical.computeDistanceBetween(center,polyline.getPath().getAt(i));
            var extendedDist = initialDist + distance;
            var extendedPt = google.maps.geometry.spherical.computeOffset(center, extendedDist, heading);
            extendedPolyPts.push(extendedPt);
        }
        extendedPoly = new google.maps.Polygon({
            // map: map,
            paths:extendedPolyPts, 
            fillColor:"#00FF00",
            strokeWidth:2, 
            fillOpacity:0.4, 
            strokeColor:"#0000FF",
            strokeOpacity:0.5
        });

        return extendedPoly;
    };
google.maps.geometry.spherical.computeHeading
google.maps.LatLngBounds
polyline.getPath().getLength()
google.maps.geometry.spherical.computeDistanceBetween
google.maps.geometry.spherical.computeOffset
google.maps.Polygon