如何在 Safari 浏览器中获取当前位置(城市、州、邮政编码)?

Posted

技术标签:

【中文标题】如何在 Safari 浏览器中获取当前位置(城市、州、邮政编码)?【英文标题】:How to get current position(city,state,zipcode) in safari browser ? 【发布时间】:2014-04-08 19:44:48 【问题描述】:

我尝试了下面的代码,它适用于 chrom、firefox 浏览器,但不适用于桌面上的 safari 浏览器(有线连接),也不适用于 windows phone(在 nokia lumia 625 上测试。)但适用于我的 ipad、iphone(通过 wifi)用于 Safari 浏览器。 请给我一个解决这个问题的方法。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"> </script>

在加载页面上的标题调用函数中。

$(document).ready(function() 
    requestPosition();
);

在js文件中写入函数

function requestPosition() 

    if (typeof navigator.geolocation == "undefined") 

        alert("Your browser doesn't support the Geolocation API");
        return;

    
    navigator.geolocation.getCurrentPosition(function(position)

    var geocoder = new google.maps.Geocoder();

    geocoder.geocode(
        "location": new google.maps.LatLng(position.coords.latitude,position.coords.longitude)
    ,
    function (results, status) 

      if (status == google.maps.GeocoderStatus.OK) 
            j = 0;

            for (var i = 0; i < results[j].address_components.length; i++) 

              if (results[j].address_components[i].types[0] == "locality") 
                  //this is the object you are looking for

                 city = results[j].address_components[i];
             

             if (results[j].address_components[i].types[0] == "administrative_area_level_1") 

                //this is the object you are looking for
                region = results[j].address_components[i];

            

            if (results[j].address_components[i].types[0] == "country") 

                //this is the object you are looking for
                country = results[j].address_components[i];
            
        

            city=city.long_name;
            state=region.long_name;
            country=country.long_name;

            $("#_state").val(state);
            $("#_country").val(country);
            $("#_city").val(city);
        
        else
                        alert("Unable to retrieve your address");
    );
,
   function (positionError) 
    alert("Error: " + positionError.message);
   ,
   
    enableHighAccuracy: true,
    timeout: 10 * 1000 // 10 seconds
   

【问题讨论】:

查看此链接***.com/questions/3791442/geolocation-in-safari-5 【参考方案1】:

Safari 地理定位仅在连接 wifi 时有效。当通过有线连接连接时,Safari 会从地理定位函数调用错误回调。

【讨论】:

safari 浏览器有线连接的解决方案是什么?如何获取登录用户所在的城市、州、时区? 抱歉,到目前为止我还没有找到有线连接的解决方案!如果我找到什么我会告诉你的。

以上是关于如何在 Safari 浏览器中获取当前位置(城市、州、邮政编码)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用核心位置服务的情况下获取用户当前的城市名称?

在 Safari 上通过地理位置查找当前位置

html5获取用户当前位置

微搭低代码小程序中获取当前城市信息

微搭低代码小程序中获取当前城市信息

如何在不使用 GPS 的情况下获取 Android 设备的当前城市名称?