Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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-返回2个多边形时的onclick问题_Javascript_Ajax_Leaflet_Wkt - Fatal编程技术网

Javascript-返回2个多边形时的onclick问题

Javascript-返回2个多边形时的onclick问题,javascript,ajax,leaflet,wkt,Javascript,Ajax,Leaflet,Wkt,我只是javascript的初学者。我试图改变使用波兰WKT数据库在传单中生成地图的方法。而且它只在返回1个位置时才起作用。返回更多位置时,Onclick不起作用。当您搜索“Koty 4”时,有两个村庄的地块号为4。我做错了什么 function load(){ map = L.map('mapa').setView([52, 19], 6); L.tileLayer('https://{s}.tile.osm.org/{z}/{

我只是javascript的初学者。我试图改变使用波兰WKT数据库在传单中生成地图的方法。而且它只在返回1个位置时才起作用。返回更多位置时,Onclick不起作用。当您搜索“Koty 4”时,有两个村庄的地块号为4。我做错了什么


        function load(){
            map = L.map('mapa').setView([52, 19], 6);
            L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', {
                attribution: '&copy; <a href="https://osm.org/copyright">OpenStreetMap</a> contributors'
            }).addTo(map);
            var wmsLayer = L.tileLayer.wms('https://integracja.gugik.gov.pl/cgi-bin/KrajowaIntegracjaEwidencjiGruntow', {
                layers: 'geoportal,dzialki,numery_dzialek,budynki',format: 'image/png', transparent: true,
            }).addTo(map);
            window.osmMap = map;
        }

        function addPolygon(points){
            var gPoints = new Array();
            var _p = points.split(',');
            var cX = 0, cY = 0;
            var p0 = null;
            var gPoints2 = new Array();
            var geojson_pgons = Terraformer.WKT.parse(geomWKT);
            var xMin = 1000, yMin = 1000, xMax = -1000, yMax = -1000;
            for(var i=0;i<_p.length;i++){
                var point = _p[i].split(' ');
                if(p0==null) p0 = point;
                cX += parseFloat(point[0]);
                cY += parseFloat(point[1]);
                xMin = Math.min(xMin,point[0]);
                xMax = Math.max(xMax,point[0]);
                yMin = Math.min(yMin,point[1]);
                yMax = Math.max(yMax,point[1]);
                gPoints.push(new Array(point[1],point[0]));
            }
                map.eachLayer(function(polygon) {
                if( polygon instanceof L.GeoJSON )
                map.removeLayer(polygon);
                }); 
            var polygon = L.geoJson(geojson_pgons, {}).addTo(window.osmMap);
            var bounds = geojson_pgons.bbox();
            window.osmMap.fitBounds([ [bounds[1], bounds[0]], [bounds[3], bounds[2]] ]);    


函数加载(){
map=L.map('mapa').setView([52,19],6);
L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png'{
属性:“©;贡献者”
}).addTo(地图);
var wmsLayer=L.tileLayer.wms('https://integracja.gugik.gov.pl/cgi-bin/KrajowaIntegracjaEwidencjiGruntow', {
图层:“geoportal,dzialki,numery_dzialek,budynki”,格式:“image/png”,透明:true,
}).addTo(地图);
window.osmMap=map;
}
函数addPolygon(点){
var gPoints=新数组();
var _p=点。拆分(',');
var-cX=0,cY=0;
var p0=零;
var gPoints2=新数组();
var geojson_pgons=Terraformer.WKT.parse(geomWKT);
var xMin=1000,yMin=1000,xMax=-1000,yMax=-1000;
对于(var i=0;i将代码更改为:

var fg;

function load(){
//...
    fg = L.featureGroup().addTo(map);
}

function addPolygon(points){
            var gPoints = new Array();
            var _p = points.split(',');

            fg.clearLayers() //Deleting the old polygons
            var poly = L.polygon([]).addTo(fg);

            for(var i=0;i<_p.length;i++){
                var point = _p[i].split(' ');
                poly.addLatLng([point[1],point[0]]);
            }

            var bounds = poly.getBounds();
            window.osmMap.fitBounds(bounds);
        }
var-fg;
函数加载(){
//...
fg=L.featureGroup().addTo(映射);
}
函数addPolygon(点){
var gPoints=新数组();
var _p=点。拆分(',');
fg.clearLayers()//删除旧多边形
var poly=L.polygon([]).addTo(fg);

对于(var i=0;我非常感谢你——它是有效的,但是……多管齐下有个问题——请检查f.e.100301_2.0010.AR_3.449/1——它不起作用。当使用terraformer时——它起作用了!!。你知道如何解决它吗?我已经为你创建了一个工作示例。我希望我能得到一个投票,并检查一下这项工作的答案;)非常感谢你的帮助。你很棒,一切都很顺利