国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

使用來自API的值觸發(fā)更改。
P粉633309801
P粉633309801 2023-07-30 15:33:31
0
1
562
<p>我正在處理一個(gè)項(xiàng)目,在這個(gè)項(xiàng)目中,我需要獲取當(dāng)前的坐標(biāo),并將它們保存為變量,然后將這些參數(shù)發(fā)送到GeoNames,以獲取國家代碼。這個(gè)國家代碼將用于觸發(fā)一個(gè)更改事件,作用于一個(gè)下拉菜單(之前已經(jīng)填充了國家代碼作為值),該下拉菜單將顯示一個(gè)國家的邊界(使用geoJSON)。如果我實(shí)際上在菜單上點(diǎn)擊任何一個(gè)國家,它都可以正常工作,但是當(dāng)我從GeoNames獲取到代碼后,我無法觸發(fā)更改事件。每當(dāng)我在獲取到國家代碼后添加這行代碼時(shí),問題就出現(xiàn)了。</p> <pre class="brush:php;toolbar:false;">$('#countrySelect').val('currCode').change();</pre> <p>除了不起作用之外,我還收到了這個(gè)錯(cuò)誤:Map.js:291 Uncaught Error: Bounds are not valid.</p><p>有人知道我做錯(cuò)了什么嗎?(我正在使用php進(jìn)行解碼,并且我從leaflet獲取地圖)。</p><p>以下是詳細(xì)信息:</p><p>這個(gè)代碼用于填充下拉菜單:</p><p><br /></p> <pre class="brush:php;toolbar:false;">$.ajax({ url: "libs/php/geoJson.php", type: "POST", dataType: "json", success: function(result) { //console.log(result); for (var i=0; i<result.data.border.features.length; i++) { $('#countrySelect').append($('<option>', { value: result.data.border.features[i].properties.iso_a3, text: result.data.border.features[i].properties.name, })); } } });</pre> <p>當(dāng)手動(dòng)選擇國家時(shí),這將創(chuàng)建邊界(并且它可以正常工作)。</p> <pre class="brush:php;toolbar:false;">var border; $('#countrySelect').on("change", function() { let name = $('#countrySelect').val(); //get + show border $.ajax({ url: "libs/php/geoJson.php", type: 'POST', dataType: 'json', success: function(result) { const filterData = result.data.border.features.filter((a) => (a.properties.iso_a3 === name)); border = L.geoJSON(filterData[0]).addTo(map); map.fitBounds(border.getBounds()); }, }); });</pre> <p>這部分代碼嘗試獲取坐標(biāo)(似乎可以正常工作),將它們傳遞給GeoNames以獲取國家代碼(似乎也可以正常工作),然后觸發(fā)上述的更改事件(但這部分不起作用)。</p>
navigator.geolocation.getCurrentPosition(成功);

函數(shù)成功(位置){
讓 lat = 位置.坐標(biāo).緯度;
讓 lng = 位置.坐標(biāo).經(jīng)度;
讓 coords = {"lat": lat, "lng": lng};

 //帶有坐標(biāo)的AJAX請求到geoNames以獲取國家/地區(qū)代碼

$.ajax({
  url: "libs/php/getCurrentCode.php",
  類型:“帖子”,
  數(shù)據(jù)類型:“json”,
  數(shù)據(jù):坐標(biāo),

  成功:函數(shù)(結(jié)果){
    console.log(JSON.stringify(結(jié)果));
    if (result.status.name == "ok") {
      $(結(jié)果["數(shù)據(jù)"]["國家代碼"]);
      讓 currCode = 結(jié)果.data;
      控制臺.log(currCode);

  //使用檢索到的代碼觸發(fā)更改

  $('#countrySelect').val('currCode').change();   
            };
    };
  });
};</pre>
<p>我的 php:</p>
ini_set('display_errors', 'On');
    錯(cuò)誤報(bào)告(E_ALL);

    $executionStartTime = microtime(true);

    $url='http://api.geonames.org/countryCodeJSON?&lat=' 。 $_REQUEST['lat'] 。 '&lng=' 。 $_REQUEST['lng'] 。 '&用戶名=&樣式=完整';

    $ch=curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL,$url);

    $結(jié)果=curl_exec($ch);

    卷曲關(guān)閉($ch);

    $decode = json_decode($結(jié)果,true);    

    $輸出['狀態(tài)']['代碼'] = '200';
    $output['status']['name'] = 'ok';
    $output['狀態(tài)']['描述'] = '成功';
    $output['status']['returnedIn'] = intval((microtime(true) - $executionStartTime) * 1000) 。 ' 多發(fā)性硬化癥';
    $output['data'] = $decode['countryCode'];
    //var_dump($解碼);        

    header('Content-Type: application/json; charset=UTF-8');

    echo json_encode($output);</pre>
<p><br />></p>            
P粉633309801
P粉633309801

全部回復(fù)(1)
P粉010967136
$('#countrySelect').val('currCode').change();

這將把值設(shè)置為字面字符串currCode。您想將其設(shè)置為變量currCode中的值。為了做到這一點(diǎn),請刪除引號:

$('#countrySelect').val(currCode).change();
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板