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

时间:2017-07-26 12:18:45

标签: javascript jquery leaflet openstreetmap

我正在尝试查找给定位置的国家/地区名称,例如,我想知道pennsylvania如何自动查找美国

我找到了一些反向地理编码链接,例如this one,它为我提供了点击地图的完整地址,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

1 个答案:

答案 0 :(得分:1)

您可以使用googleapi获取国家/地区代码,同时使用传单进行映射。

 $.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);
                 }
        });