Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用google api反向查找获取iso代码_Javascript_Jquery_Geolocation - Fatal编程技术网

Javascript 使用google api反向查找获取iso代码

Javascript 使用google api反向查找获取iso代码,javascript,jquery,geolocation,Javascript,Jquery,Geolocation,我在这篇文章中发现了一些代码: 我想获得用户的iso国家代码(2位) 但我不明白为什么它不起作用?在chrome上的控制台中,我在第40行看到“未捕获的SyntaxError:意外标记” jsfiddle: var区域=”; var country=“”; 函数getLocation() { if(导航器.地理位置) { navigator.geolocation.getCurrentPosition(showPosition,nogeLocation); }否则{ console.log('

我在这篇文章中发现了一些代码:

我想获得用户的iso国家代码(2位)

但我不明白为什么它不起作用?在chrome上的控制台中,我在第40行看到“未捕获的SyntaxError:意外标记”

jsfiddle:


var区域=”;
var country=“”;
函数getLocation()
{
if(导航器.地理位置)
{
navigator.geolocation.getCurrentPosition(showPosition,nogeLocation);
}否则{
console.log('nope');
}
}
功能显示位置(位置)
{
var geocoder=new google.maps.geocoder();
var latlong=new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
geocoder.geocode({'latLng':latlong},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
如果(结果[0]){
对于(var i=0;i
您有2个
}
放置错误:缺少一个,不需要一个:

    function showPosition(position) {
        var geocoder = new google.maps.Geocoder();
        var latlong = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
        geocoder.geocode({'latLng': latlong}, function(results, status) {

            if (status == google.maps.GeocoderStatus.OK) {
                if (results[0]) {
                    for (var i = 0; i < results[0].address_components.length; i++) {
                        var longname = results[0].address_components[i].long_name;
                        var type = results[0].address_components[i].types;
                        if (type.indexOf("administrative_area_level_1") != -1) {
                            region = longname;
                        }
                        if (type.indexOf("country") != -1) {
                            country = short_name;
                        }
                    }
                }
            } 
        });
    }

///}

太好了,谢谢。我希望这段代码能给我一些数据输出,但我不知道怎么做。我认为country=short\u名称可以通过console.log(country)简单地输出,但它没有显示任何内容。例如,如何让此脚本通过控制台日志向我显示国家/地区代码?对于我的位置,我将其作为
结果[0]。地址\u组件[3]。缩写\u名称
。您必须检查
类型
“国家”。
    function showPosition(position) {
        var geocoder = new google.maps.Geocoder();
        var latlong = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
        geocoder.geocode({'latLng': latlong}, function(results, status) {

            if (status == google.maps.GeocoderStatus.OK) {
                if (results[0]) {
                    for (var i = 0; i < results[0].address_components.length; i++) {
                        var longname = results[0].address_components[i].long_name;
                        var type = results[0].address_components[i].types;
                        if (type.indexOf("administrative_area_level_1") != -1) {
                            region = longname;
                        }
                        if (type.indexOf("country") != -1) {
                            country = short_name;
                        }
                    }
                }
            } 
        });
    }

///}
function showPosition(position) {
    var geocoder = new google.maps.Geocoder();
    var latlong = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
    geocoder.geocode({'latLng': latlong}, function(results, status) {

        if (status == google.maps.GeocoderStatus.OK) {
            if (results[0]) {
                for (var i = 0; i < results[0].address_components.length; i++) {
                    var longname = results[0].address_components[i].long_name;
                    var types = results[0].address_components[i].types;

                    for (var typeIdx = 0; typeIdx < types.length; typeIdx++) {
                        if (types[typeIdx] == 'country') {
                            console.log(results[0].address_components[i].long_name);
                            console.log(results[0].address_components[i].short_name);
                        }
                    }
                }
            }
        } 
    });
}