如何确定哪个国家/州/地区/城市/地区位于传单多边形内矩形|圈子等

时间:2016-08-25 10:03:02

标签: javascript maps leaflet openstreetmap

如何确定哪个国家/地区,州,地区,城市或地区位于用户创建的传单形状(多边形|圆形等)内?

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找反向gecoding 。 Leaflet不提供地理编码服务,但您可以找到类似的示例here.

Google地理编码服务以JSON格式提供结果,但您可能需要支付额外的配额。

示例链接: http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452

更新了Stack Snippet:

window.cb = function cb(json) {
  document.getElementById('result').innerHTML = 'Country:' + json.address.country + '|' + 'State:' + json.address.state + '|' + 'County:' + json.address.county + '|' + 'City:' + json.address.city;
}

window.getLocation = function getLocation() {
  var s = document.createElement('script');
  s.src = 'http://nominatim.openstreetmap.org/reverse?json_callback=cb&format=json&lat=40.714224&lon=-73.961452&zoom=27&addressdetails=1';
  document.getElementsByTagName('head')[0].appendChild(s);

};
.myText {font-weight:bold;font-size:1.0em;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onclick="getLocation();" name="search" class='myText'>Get Location!</button>
<p id="result" class='myText'></p>