Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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_Json_Markers - Fatal编程技术网

Javascript 为输入地图标记设置动态变量

Javascript 为输入地图标记设置动态变量,javascript,json,markers,Javascript,Json,Markers,我有以下功能: $(".mijn_veld").change(function() { $.getJSON('https://url.com/index.php?action=pslist&zip='+$(".mijn_veld").val()+'&country=NL', function(result){ $.each(result.data, function(i, field){ $(".listings").append(

我有以下功能:

$(".mijn_veld").change(function() {
    $.getJSON('https://url.com/index.php?action=pslist&zip='+$(".mijn_veld").val()+'&country=NL', function(result){
        $.each(result.data, function(i, field){
            $(".listings").append(this.name + "<br> ");
        });
    });
});
我现在想要的是把这些数据放到一个变量中,这样我的脚本就会在我的地图上做标记。一个例子是:但请注意:我不希望它像现在这样是静态的,每次用getJSON填充另一个zipcode时,它都必须更新这个VAR

var stores = {
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [5.140439, 51.686608]
            },
            "properties": {
                "spid": "NL3700-03",
                "name": "Test Parcel 1",
                "add": "Teststreet 1",
                "zip": "3500RR",
                "city": "utrecht",
                "country": "NL",
                "phone": "032434234",
                "oh": "Ma: 12:00 tot 15:00"
            }
        },
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [5.133729,51.681425]
            },
            "properties": {
                "phoneFormatted": "(202) 507-8357",
                "phone": "2025078357",
                "add": "2221 I St NW",
                "city": "Washington DC",
                "country": "United States",
                "crossStreet": "at 22nd St NW",
                "postalCode": "20037",
                "state": "D.C."
            }
        }
    ]
};

我的问题是:我怎样才能做到这一点?我想确保JSON输出中的name值将以VAR存储中的name表示。每个商店都有这个功能。

您可以使用第一个函数将JSON加载到名为places的对象中

var places = {};

$(".mijn_veld").change(function() {
    $.getJSON('https://url.com/index.php?action=pslist&zip='+$(".mijn_veld").val()+'&country=NL', function(result) {
        places = result;
    });
});
然后只需循环遍历结果,并在运行时将其添加到您自己的数据结构中。在本例中,我手动设置了位置,但出于您的目的,您可以从该服务器加载它

var places = {  
   "status":0,
   "data":[  
      {  
         "spid":"NL-351202",
         "name":"In 't vosje",
         "add":"Nobelstraat 141",
         "zip":"3512EM",
         "city":"UTRECHT",
         "country":"NL",
         "lon":"5.1246600000",
         "lat":"52.0929748000"
      },
      {  
         "spid":"NL-358102",
         "name":"Vivant Verheijen",
         "add":"Burg Reigerstraat 54",
         "zip":"3581KV",
         "city":"UTRECHT",
         "country":"NL",
         "lon":"5.1358400000",
         "lat":"52.0895721000"
      },
      {  
         "spid":"NL-351175",
         "name":"Parcelstation deBuren H.Catharijne",
         "add":"Catharijnesingel 11-PS",
         "zip":"3511GB",
         "city":"UTRECHT",
         "country":"NL",
         "lon":"5.1115500000",
         "lat":"52.0922582000"
      }
   ]
};

var stores = {
    "type": "FeatureCollection",
    "features": []
};

for (var i = 0; i < places.data.length; i++) {
    var place = places.data[i];

    stores.features.push({
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [place.lat, place.lon]
         },
         properties: {
        "spid": place.spid,
        "name": place.name,
            "add": place.add,
            "zip": place.zip,
            "city": place.city,
            "country": place.country,
         }
    });
}

console.log(stores);

可以使用第一个函数将JSON加载到名为places的对象中

var places = {};

$(".mijn_veld").change(function() {
    $.getJSON('https://url.com/index.php?action=pslist&zip='+$(".mijn_veld").val()+'&country=NL', function(result) {
        places = result;
    });
});
然后只需循环遍历结果,并在运行时将其添加到您自己的数据结构中。在本例中,我手动设置了位置,但出于您的目的,您可以从该服务器加载它

var places = {  
   "status":0,
   "data":[  
      {  
         "spid":"NL-351202",
         "name":"In 't vosje",
         "add":"Nobelstraat 141",
         "zip":"3512EM",
         "city":"UTRECHT",
         "country":"NL",
         "lon":"5.1246600000",
         "lat":"52.0929748000"
      },
      {  
         "spid":"NL-358102",
         "name":"Vivant Verheijen",
         "add":"Burg Reigerstraat 54",
         "zip":"3581KV",
         "city":"UTRECHT",
         "country":"NL",
         "lon":"5.1358400000",
         "lat":"52.0895721000"
      },
      {  
         "spid":"NL-351175",
         "name":"Parcelstation deBuren H.Catharijne",
         "add":"Catharijnesingel 11-PS",
         "zip":"3511GB",
         "city":"UTRECHT",
         "country":"NL",
         "lon":"5.1115500000",
         "lat":"52.0922582000"
      }
   ]
};

var stores = {
    "type": "FeatureCollection",
    "features": []
};

for (var i = 0; i < places.data.length; i++) {
    var place = places.data[i];

    stores.features.push({
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [place.lat, place.lon]
         },
         properties: {
        "spid": place.spid,
        "name": place.name,
            "add": place.add,
            "zip": place.zip,
            "city": place.city,
            "country": place.country,
         }
    });
}

console.log(stores);

我得到以下错误:TypeError:places.data未定义正如我说的,places.data未定义。我检查了控制台告诉我的内容,它确实看到了对象和数组:Object{status:0,data:Array[20]}我已经做了进一步的测试。我确实删除了您手动设置的变量位置。然后我得到了我之前告诉过的错误。在错误发生之前和加载之后添加console.logplaces。它包含什么?对象{}TypeError:places.data未定义,其中包含:for var i=0;i