HTML5 - 是啥让这段代码得到国家而不是城市?
Posted
技术标签:
【中文标题】HTML5 - 是啥让这段代码得到国家而不是城市?【英文标题】:HTML5 - What is making this code get the country instead of city?HTML5 - 是什么让这段代码得到国家而不是城市? 【发布时间】:2012-02-18 23:23:15 【问题描述】:是什么让下面的代码得到国家而不是城市,我怎样才能改变它来得到城市而不是国家?
function get_visitor_country()
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(function(position)
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var latlng = new google.maps.LatLng(lat, lon);
geocoder = new google.maps.Geocoder();
geocoder.geocode('latLng': latlng, function(results, status)
if (status == google.maps.GeocoderStatus.OK)
if (results[1])
var country = results[results.length-1].formatted_address;
$("#location-detection .location-name").html(country);
$("#geolocation-worked").css("display", "block");
$("#no-geolocation").css("display", "none");
$geolocation_fix.hide().css( height : 0 );
init_geolocation_switch();
);
);
脚本还在文件末尾加载http://maps.google.com/maps/api/js?sensor=false,如果这可能会影响它的话。
【问题讨论】:
【参考方案1】:您的脚本目前没有得到任何特别的东西(如城市或国家),它从结果中得到了一些东西。
在types设置为["locality", "political"]
当你找到它时,你就得到了这座城市。
创建一个带有 addressTypes 标记的对象以便于访问:
var components=;
jQuery.each(results,function(i,v)
components[jQuery.camelCase(v.types.join('-'))]=v;
)
//test it
alert((components.localityPolitical)
? components.localityPolitical.formatted_address
: 'n/a');
见:Address Component Types
【讨论】:
以上是关于HTML5 - 是啥让这段代码得到国家而不是城市?的主要内容,如果未能解决你的问题,请参考以下文章
是啥让 Maven 想要使用 Zulu Java 11 的 openjfx 而不是 Zulu Java 8 用于 Spring Boot 项目?
是啥让 NP-hard 问题不是 NP-complete 问题?