亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
javascript - 如何通過js獲取當(dāng)前用戶所在城市
高洛峰
高洛峰 2017-04-10 14:30:21
[JavaScript討論組]

如何通過js獲取當(dāng)前用戶所在城市?
例如美團這些團購網(wǎng)站。
geolocation可以獲取用戶的坐標(biāo),但用這種方法獲取城市需要在進行一次轉(zhuǎn)換。
有沒有簡單的方法獲取用戶所在城市?因為不同城市的信息有所不同,多謝。

高洛峰
高洛峰

擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...

全部回復(fù)(5)
PHP中文網(wǎng)

如果是自己寫的話,簡單方法肯定沒有,一般都是經(jīng)緯度然后你自己判斷的,你想想,瀏覽器怎么可能會被你存上中國各省各市的地名呢..反正我覺得不大可能。如果你正好調(diào)用了百度地圖,可以看看下面這個API。
http://developer.baidu.com/map/jsdemo.htm#i8_2

伊謝爾倫

一般一個地區(qū)會固定使用某一IP地址段,因此可以通過判斷用戶的IP地址來確定用戶所在的城市。而你可以使用一些第三方的IP數(shù)據(jù)庫。

怪我咯

大部分網(wǎng)站應(yīng)該都是通過服務(wù)端獲取用戶的 ip, 然后從 ip 庫中匹配城市,所以會經(jīng)??吹揭恍┚W(wǎng)站有時匹配的不準(zhǔn)確。

樓主說的通過 Geolocation 技術(shù)上是可行的,但是獲取坐標(biāo)會有以下一些問題:

  1. 部分老的瀏覽器不支持 Geolocation(參見瀏覽器支持情況),當(dāng)然這個問題可以通過判斷瀏覽器是否支持 Geolocation, 如果瀏覽器不支持,通過服務(wù)器獲取用戶的 ip,再匹配城市。
  2. 在桌面瀏覽器上,Geolocation 一般使用 IP 地址定位、WIFI 定位,使用 IP 地址定位的話,定位也不精確,(參考位置信息獲取方式對比)。
  3. 另外,使用 Geolocation 需要用戶授權(quán)同意使用他的位置信息。
PHPz

更簡單有效的方式是服務(wù)端程序獲取用戶的IP,匹配一個IP庫的地址。JS無法獲取IP。通過獲取坐標(biāo)的方法樓主自己也知道不太可行。為什么非得吊死在JS上面。

PHP中文網(wǎng)
$.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function(){
    //console.log(remote_ip_info);
});

簡單一點的,百度地圖API貌似復(fù)雜了點

另外居于我寫的居于geolocation例子

if (navigator.geolocation)
        {
        navigator.geolocation.getCurrentPosition(showPosition, showErr);
        }
    function showPosition(position){
        //alert(position.coords.latitude+','+position.coords.longitude);
        // ak = appkey 訪問次數(shù)流量有限制
        $.getJSON('http://api.map.baidu.com/geocoder/v2/?ak=71709218d45a706b9c7e3abc2f037b23&callback=?&location='+position.coords.latitude+','+position.coords.longitude+'&output=json&pois=1', function(res){
                //addressComponent => {city: "廣州市", district: "天河區(qū)", province: "廣東省", street: "廣州大道", street_number: "中922號-之101-128"} 
                $("#location").html(res.result.addressComponent.city);
        });
    }
    function show(msg){
        alert(msg)
    }
    function showErr(error){
        var result;
        switch(error.code) 
        {
        case error.PERMISSION_DENIED:
          result="User denied the request for Geolocation."
          break;
        case error.POSITION_UNAVAILABLE:
          result="Location information is unavailable."
          break;
        case error.TIMEOUT:
          result="The request to get user location timed out."
          break;
        case error.UNKNOWN_ERROR:
          result="An unknown error occurred."
          break;
        }
        alert(result);
    }
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號