Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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中调用子方法?(获取类似ReferenceError的错误:未定义getPointInfo)_Javascript_Google Maps_Google Maps Api 3_Closures - Fatal编程技术网

如何在javascript中调用子方法?(获取类似ReferenceError的错误:未定义getPointInfo)

如何在javascript中调用子方法?(获取类似ReferenceError的错误:未定义getPointInfo),javascript,google-maps,google-maps-api-3,closures,Javascript,Google Maps,Google Maps Api 3,Closures,无法从父方法调用子方法。非常感谢您的帮助 子方法:getPointInfo() 父方法:createPolygon() 无法从父方法调用子方法。实际上,子方法在GoogleMapsAPIv3的infoWindow对象中 function createPolygon(polygon) { var clat = 0; var clng = 0; var polygonShape =[]; var content = "<div><label&g

无法从父方法调用子方法。非常感谢您的帮助

子方法:getPointInfo()

父方法:createPolygon()

无法从父方法调用子方法。实际上,子方法在GoogleMapsAPIv3的infoWindow对象中

function createPolygon(polygon) {
    var clat = 0;
    var clng = 0;
    var polygonShape    =[];
    var content = "<div><label><b>Name : </b></label>"
            + document.getElementById('Name').value
            + '</br><label><b>Region Name : </b></label><input type="text" size="20" id="region_name"/></br><label align="top"><b>Description : </b></label><textarea id="region_desc" cols="20" rows="3"></textarea><br/><input type="button" value="Save Region" onclick="getPointInfo();"/><br/>'
            + '<b>-----INFO-----</b>';
    var polygonPath = function() {
        var contents = content;
        var vert = polygon.getPath();
        vert.forEach(function(xy, i) {
            var contentString = '<br/><b>Lat :</b> ' + xy.lat().toFixed(6) + '<b>Long : </b>'
                + xy.lng().toFixed(6);
            contents = contents + contentString;
            clat = xy.lat();
            clng = xy.lng();
            var vertex  = {
                "lat" : xy.lat().toFixed(6),
                "lng" : xy.lng().toFixed(6)
            };
            polygonShape.push(vertex);
        });
        this.infoWindow = new google.maps.InfoWindow({
            content : contents,
            position : new google.maps.LatLng(clat,clng),
            maxWidth : 400
        });
        drawingTool.setDrawingMode(null);
        this.infoWindow.open(map);
    };
    polygonPath();

    function getPointInfo() {
        var RegionName = document.getElementById('region_name').value;
        var RegionDesc = document.getElementById('region_desc').value;
        this.infoWindow.close();
        polygonJson = {
            data : polygonShape,
            regionName : RegionName,
            regionDescription : RegionDesc 
    };
        console.log(Object.toJSON(polygonJson));
    };
}
函数createPolygon(多边形){
var-clat=0;
var-clng=0;
var polygonShape=[];
var content=“Name:”
+document.getElementById('Name')。值
+“
地区名称:
说明:

” +“----信息------”; var polygonPath=函数(){ var内容=内容; var vert=polygon.getPath(); 垂直forEach(函数(xy,i){ var contentString='
Lat:'+xy.Lat().toFixed(6)+'Long:' +xy.lng().toFixed(6); contents=contents+contentString; clat=xy.lat(); clng=xy.lng(); 变量顶点={ “lat”:xy.lat().toFixed(6), “lng”:xy.lng().toFixed(6) }; 多边形形状推(顶点); }); this.infoWindow=new google.maps.infoWindow({ 内容:内容,, 职位:新google.maps.LatLng(clat,clng), 最大宽度:400 }); drawingTool.setDrawingMode(空); this.infoWindow.open(map); }; 多基因通路(); 函数getPointInfo(){ var RegionName=document.getElementById('region_name')。值; var RegionDesc=document.getElementById('region_desc')。值; this.infoWindow.close(); polygonJson={ 资料来源:polygonShape, regionName:regionName, regionDescription:RegionDesc }; log(Object.toJSON(polygonJson)); }; }
你不能那样做

首先使用模块模式导出函数。它当前是私有的,当您从DOM引用它时,您需要入口点