Class Geocoder

地理编码器

支持在地址与地理坐标之间进行转换。
以下示例展示了如何使用此类查找相应地理位置的前 9 个匹配项 “大街”添加到地图中,然后将其嵌入新的 Google 文档中。

// Find the best matches for "Main St" in Colorado.
var response = Maps.newGeocoder()
    // The latitudes and longitudes of southwest and northeast corners of Colorado, respectively.
    .setBounds(36.998166, -109.045486, 41.001666,-102.052002)
    .geocode('Main St');

// Create a Google Doc and map.
var doc = DocumentApp.create('My Map');
var map = Maps.newStaticMap();

// Add each result to the map and doc.
for (var i = 0; i < response.results.length && i < 9; i++) {
  var result = response.results[i];
  map.setMarkerStyle(null, null, i + 1);
  map.addMarker(result.geometry.location.lat, result.geometry.location.lng);
  doc.appendListItem(result.formatted_address);
}

// Add the finished map to the doc.
doc.appendImage(Utilities.newBlob(map.getMapImage(), 'image/png'));

另请参阅

方法

方法返回类型简介
geocode(address)Object获取指定地址的大致地理点。
reverseGeocode(latitude, longitude)Object获取给定地理点的大致地址。
setBounds(swLatitude, swLongitude, neLatitude, neLongitude)Geocoder设置应在结果中优先显示的区域边界。
setLanguage(language)Geocoder设置要在结果中使用的语言。
setRegion(region)Geocoder设置解读位置名称时使用的区域。

详细文档

geocode(address)

获取指定地址的大致地理点。

// Gets the geographic coordinates for Times Square.
var response = Maps.newGeocoder().geocode('Times Square, New York, NY');
for (var i = 0; i < response.results.length; i++) {
  var result = response.results[i];
  Logger.log('%s: %s, %s', result.formatted_address, result.geometry.location.lat,
      result.geometry.location.lng);
}

参数

名称类型说明
addressString住址

返回

Object - 包含地理编码数据的 JSON 对象,如此处所述


reverseGeocode(latitude, longitude)

获取给定地理点的大致地址。

// Gets the address of a point in Times Square.
var response = Maps.newGeocoder().reverseGeocode(40.758577, -73.984464);
for (var i = 0; i < response.results.length; i++) {
  var result = response.results[i];
  Logger.log('%s: %s, %s', result.formatted_address, result.geometry.location.lat,
      result.geometry.location.lng);
}

参数

名称类型说明
latitudeNumber该点的纬度
longitudeNumber该点的经度

返回

Object - 包含反向地理编码数据的 JSON 对象,如此处所述

另请参阅


setBounds(swLatitude, swLongitude, neLatitude, neLongitude)

设置应在结果中优先显示的区域边界。

// Creates a Geocoder that prefers points in the area of Manhattan.
var geocoder = Maps.newGeocoder()
    .setBounds(40.699642, -74.021072, 40.877569, -73.908548);

参数

名称类型说明
swLatitudeNumber边界西南角的纬度
swLongitudeNumber边界西南角的经度
neLatitudeNumber边界东北角的纬度
neLongitudeNumber边界东北角的经度

返回

Geocoder - 用于实现调用链的地理编码器对象

另请参阅


setLanguage(language)

设置要在结果中使用的语言。

// Creates a Geocoder with the language set to French.
var geocoder = Maps.newGeocoder().setLanguage('fr');

参数

名称类型说明
languageStringBCP-47 语言标识符

返回

Geocoder - 用于实现调用链的地理编码器对象。

另请参阅


setRegion(region)

设置解读位置名称时使用的区域。支持的地区代码对应于 Google 地图支持的 ccTLD。例如,地区代码“uk”对应的是 "maps.google.co.uk"。

// Creates a Geocoder with the region set to France.
var geocoder = Maps.newGeocoder().setRegion('fr');

参数

名称类型说明
regionString要使用的地区代码

返回

Geocoder - 用于实现调用链的地理编码器对象

另请参阅