2017-07-26 117 views
1

我想找到给定位置的国家名称,例如让我说我知道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

+0

您能够使用googleapi吗? – CumminUp07

+0

@ CumminUp07我正在使用传单:=( –

回答

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); 
       } 
     }); 
+0

嗯,这可能是有希望的寿,也许更长,但我可以做一个混合匹配,在那里我可以实际使用googleapi获取国家名称,同时使用传单为我需要的其他东西。这是一个解决方案。谢谢 –

+2

Nominatim可以以类似的方式使用,请参阅https://wiki.openstreetmap.org/wiki/Nominatim#Examples – scai

相关问题