Pobierz kraj z szerokości geograficznej

Chciałbym wiedzieć, jak Mogę uzyskać nazwę kraju z szerokości i długości geograficznej za pomocą JavaScript. Otwieram do korzystania z Google Maps' JavaScript API. Czy Mogę też dostać city i zip?

Edit: moim celem jest automatyczne wypełnienie pola adresu, a nie wyświetlenie go na mapie.

Author: Paul D. Waite, 2010-12-21

6 answers

Nie wiem, czy działa z google maps, ale jest usługa internetowa, która zwraca kod kraju i przyjmuje jako parametry lat i long.

Oto przykład: http://api.geonames.org/countryCodeJSON?lat=49.03&lng=10.2&username=demo

Znalazłem też mały opis:

Kod iso danego punktu.

  • Webservice Type: REST
  • Url: ws.geonames.org/countryCode?
  • parametry: lat, lng, type, lang, radius (bufor w km dla najbliższego Państwa na obszarach przybrzeżnych)
  • wynik: zwraca kod iso kraju dla podanej szerokości / długości geograficznej

Z parametrem type=xml ta usługa zwraca dokument xml z kodem kraju iso i nazwą kraju. Opcjonalny parametr lang może być użyty do określenia języka, w którym powinna znajdować się nazwa kraju. Wyjście JSON jest produkowane z type=JSON

Zobacz docs

Edit: zauważ, że {[8] } jest po prostu użytkownik demonstracyjny i należy utworzyć konto użytkownika na http://www.geonames.org/login w celu korzystania z serwisu.

 53
Author: Christian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-07 16:43:10

Google Geocoding API dostarcza te wyniki sresults w formacie JSON. Jest bezpłatny, ale możesz potrzebować zapłacić za nieograniczony dostęp.

Spróbuj poniżej link

http://maps.googleapis.com/maps/api/geocode/json?latlng=11.2742848,75.8013801
 10
Author: Nishad Up,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-05 09:03:52
<form id="form1" runat="server">
<div>
    <script type="text/javascript" src="http://j.maxmind.com/app/geoip.js" ></script>
    <br />Country Code:
    <script type="text/javascript">document.write(geoip_country_code());</script>
    <br />Country Name:
    <script type="text/javascript">document.write(geoip_country_name());</script>
    <br />City:
    <script type="text/javascript">document.write(geoip_city());</script>
    <br />Region:
    <script type="text/javascript">document.write(geoip_region());</script>
    <br />Region Name:
    <script type="text/javascript">document.write(geoip_region_name());</script>
    <br />Latitude:
    <script type="text/javascript">document.write(geoip_latitude());</script>
    <br />Longitude:
    <script type="text/javascript">document.write(geoip_longitude());</script>
    <br />Postal Code:
    <script type="text/javascript">document.write(geoip_postal_code());</script>

</div>
</form>
 9
Author: Krishna Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-08 13:40:18

Jeśli pożądana jest samodzielna biblioteka (tzn. brak połączenia z serwerem / Internetem i szybkość) i wymagane są tylko informacje o kraju, użyteczne może być poniższa biblioteka oparta na danych openstreetmap - https://github.com/hlaw/codegrid-js

<script type="text/javascript" src="[path]/codegrid.js"></script>
grid = codegrid.CodeGrid(); // initialize

grid.getCode (lat, lng, function (err, code) { ... });

Wywołanie zwrotne jest wywoływane przez code, kod kraju dla latlng.

 6
Author: headuck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-20 17:41:56

Tak, możesz użyć google maps, aby znaleźć kraj dla danej szerokości geograficznej i długości geograficznej. Użyj usługi odwrotnego geokodowania .

Możesz uzyskać kraj, Miasto, Kod pocztowy i pełny adres z odpowiedzi otrzymanej z serwera. Sprawdź przykład z linku po szczegóły;)

 5
Author: aniri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-21 09:32:25

Jeśli używasz golang możesz użyć jednej z tych bibliotek 2, aby uzyskać kraj i nie musisz nawet wykonywać połączenia api, ponieważ zestaw danych jest wbudowany, więc jego nieograniczony.

Https://github.com/SocialHarvest/geobed

Https://github.com/bradfitz/latlong

 0
Author: pyros2097,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-03 12:15:35