javascript - 如何反向地理编码以获取给定州/地区或城市名称的国家/地区名称?

标签 javascript jquery leaflet openstreetmap

我正在尝试查找给定位置的国家/地区名称,例如,假设我知道pennsylvania,我如何自动查找United States of America

我找到了几个反向地理编码链接,例如 this one这给了我点击 map 和 this one 的完整地址。在搜索时有效。最后一个看起来更有希望,因为它使用 nomination .

这就是我为 pennsylvania 放置标记的方式。

var map = L.map('map').setView([41.203323, -77.194527], 1);
var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
    var osmLayer = new L.TileLayer(osmUrl, {
        maxZoom: 19,
        attribution: 'Map data © OpenStreetMap contributors'
    });
map.addLayer(osmLayer);
    var markers = [];
    var marker1 = L.marker([41.203323, -77.194527],{title:"marker_1"}).addTo(map).bindPopup("Marker 1");
    markers.push(marker1);

    function markerFunction(id){
        for (var i in markers){
            var markerID = markers[i].options.title;
            if (markerID == id){
                markers[i].openPopup();
            };
        }
    }

虽然我不需要标记,但我可以在 console.log() 上简单地显示国家名称,然后我会解决这个问题,因为我只需要获取国家/地区姓名。

jSFiddle

最佳答案

您可以使用 googleapi 获取国家代码,同时使用 leaflet 进行映射。

 $.ajax({ url:'http://maps.googleapis.com/maps/api/geocode/json?latlng=41.203323,-77.194527&sensor=true',
                 success: function(data){
                     var country = data.results[0].address_components[6].long_name;
                     console.log(country);
                 }
        });

关于javascript - 如何反向地理编码以获取给定州/地区或城市名称的国家/地区名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45326794/

相关文章:

javascript - 对某个范围内的所有数字求和

javascript - 如何使用 JavaScript 将对象转换为 CSV?

javascript - 双击可编辑

javascript - 关于 anchor 标记的文本更改,使用 JavaScript 显示/隐藏 div

javascript - 如何在一个标记上编辑事件?

r - 从 R 中的传单包创建 html 时字符编码错误

javascript - 从字符串名称到 id 的过滤对象数组

javascript - 是否可以使用 CommonJS 库?

javascript - Seleneium 异常 - Arguments[0].click 不是 Selenium Python 中使用 execute_script() 的函数

Javascript:如何使用 modernizr 更改背景大小以覆盖?