2017-07-26 221 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

相關問題