Class Geocoder

地理编码器

允许在地址与地理坐标之间进行转换。
以下示例展示了如何使用此类查找与科罗拉多州“Main St”地点最匹配的九个地点,将其添加到地图中,然后将其嵌入到新的 Google 文档中。

// Find the best matches for "Main St" in Colorado.
const 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.
const doc = DocumentApp.create('My Map');
const map = Maps.newStaticMap();

// Add each result to the map and doc.
for (let i = 0; i < response.results.length && i < 9; i++) {
  const 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.
const response = Maps.newGeocoder().geocode('Times Square, New York, NY');
for (let i = 0; i < response.results.length; i++) {
  const 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.
const response = Maps.newGeocoder().reverseGeocode(40.758577, -73.984464);
for (let i = 0; i < response.results.length; i++) {
  const 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.
const geocoder = Maps.newGeocoder().setBounds(
    40.699642,
    -74.021072,
    40.877569,
    -73.908548,
);

参数

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

返回

Geocoder - 用于简化调用链接的 Geocoder 对象

另请参阅


setLanguage(language)

设置结果中使用的语言。

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

参数

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

返回

Geocoder - Geocoder 对象,用于简化调用的链接。

另请参阅


setRegion(region)

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

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

参数

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

返回

Geocoder - 用于简化调用链接的 Geocoder 对象

另请参阅