微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用用户位置获取地名国家代码以使用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 举报,一经查实,本站将立刻删除。