将坐标数据库转换为物理地址

时间:2018-03-14 10:03:05

标签: database google-maps google-maps-api-3 google-geocoder

我正在尝试建立一个房地产代理网站,并想到将地址保存为数据库的坐标(因为文本地址可能很难)

所以我有两个主要问题:

1)如果地址保存为坐标,是否可以按街道搜索对象?它有多难?也许你可以用任何网络编程语言提供一个有用的例子,或者建议一个很好的演练。

2)这是一种可行的方法吗?也许它有可怕的缺点,我看不到。

1 个答案:

答案 0 :(得分:5)

是的,实际上可以将位置的纬度和经度转换为地址。这是通过Google Maps Reverse Geocoding服务通过Javascript API实现的。

Take a look at this site to read up a bit more on reverse geocoding and how you could make it work for your project.

以下是反向地理编码请求的代码示例: Live example here

 function geocodeLatLng(geocoder, map, infowindow) {
    var input = document.getElementById('latlng').value;
    var latlngStr = input.split(',', 2);
    var latlng = {lat: parseFloat(latlngStr[0]), lng: parseFloat(latlngStr[1])};
    geocoder.geocode({'location': latlng}, function(results, status) {
      if (status === 'OK') {
        if (results[0]) {
          map.setZoom(11);
          var marker = new google.maps.Marker({
            position: latlng,
            map: map
          });
          infowindow.setContent(results[0].formatted_address);
          infowindow.open(map, marker);
        } else {
          window.alert('No results found');
        }
      } else {
        window.alert('Geocoder failed due to: ' + status);
      }
    });
  }