我正在使用谷歌地图Api V3并使用反向地理编码来查找点击的国家/地区的名称。 除了英国以外的国家,这似乎适用于大多数国家。
英国由英格兰,苏格兰,威尔士和北爱尔兰组成,这些国家分别是4个国家,但谷歌地图(以及大多数其他国家的东西)都将它们视为“英国”。
我需要知道英国哪个国家/地区已被点击,而不仅仅是点击了英国!
我正在使用以下javascript,我目前只是使用视觉工作室“观看”功能深入挖掘“结果[1]”以查看包含的内容。
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(51.8052184317649, -4.965819906250006);
var myOptions = {
zoom: 5,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
google.maps.event.addListener(map, 'click', function (event) {
if (confirm('Is this the location you would like to you for your company?')) {
geocoder.geocode({ 'latLng': event.latLng }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
}
}
});
}
});
}
如果我在地图缩放到相当远的地方时点击国家名称(即威尔士)返回类型“administrative_area_level_1”和“政治”但是当你放大它不再那里因为它只是给出了地址包含“威尔士”。
有谁知道我怎么绕这个?我相信其他英国人已经遇到过这个问题了吗?
答案 0 :(得分:0)
无法解决如何反转地理编码以获得英国国家,因为我认为这实际上是不可能的!
结束使用邮政编码,然后按国家计算! 不是最好的,但它对我有用!
答案 1 :(得分:0)
英国国家/地区代表administrative_area_level_1
结果,请查看此示例中的第二个结果(不要依赖address_components
):
https://maps.googleapis.com/maps/api/geocode/json?&latlng=51.641033,-0.647507