使用用户位置获取地名国家代码以使用Ajax更改选择框

问题描述

我正在尝试使用ajax将用户lat和lng发送到地理名称,并返回当前国家的国家/地区代码,以便选择框可以选择他们所在的国家/地区。然后,该选择框将获取有关openCage或geoNames中的国家/地区。我也想用他们当前位置的标记来更新地图,我正在使用传单,但尝试使用navigator.geolocate而不是map.locate

searchString = "*test phrase*"
searchItem = Application.Match(searchString,Worksheets("Table").Range("A2:A100"),0)

然后这是第二次ajax调用,用于在国家/地区代码更新我的选择框后获取国家/地区信息。

  //locating user on start-up
  $(document).ready( function() {
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(function (position) {
        $.ajax({
            type: "POST",url: "HTTPS:\PHP\getCountryCode.PHP",data: {
                x: position.coords.latitude,y: position.coords.longitude
            },success: function (result) {
             
            }
        });
      });
    }; 
  }); 

<?PHP

  $url ='http://api.geonames.org/countryCodeJSON?formatted=true&lat' . $_REQUEST['x'] . '&lng=' . $_REQUEST['y'] . '&username=xxxxx';
 
  $ch = curl_init();
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_URL,$url);

    $result=curl_exec($ch);

    curl_close($ch);

    $json = json_decode($result,true);  

    $output['status']['code'] = "200";
    $output['status']['name'] = "ok";
    $output['status']['description'] = "Search Complete";
    $output['data'] = $json['geonames'];
    $errors = $response['response']['errors'];
    $data  = $response['response']['data'][0];
    
    header('Content-Type: application/json; charset=UTF-8');

        echo json_encode($output); 

?>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)