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)
获取指定地址的大致地理坐标。
// 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,
);
}
参数
返回
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,
);
}
参数
名称 | 类型 | 说明 |
latitude | Number | 相应点的纬度 |
longitude | Number | 点的经度 |
返回
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,
);
参数
名称 | 类型 | 说明 |
swLatitude | Number | 边界西南角的纬度 |
swLongitude | Number | 边界西南角的经度 |
neLatitude | Number | 边界东北角的纬度 |
neLongitude | Number | 边界东北角的经度 |
返回
Geocoder
- 用于简化调用链接的 Geocoder 对象
另请参阅
setLanguage(language)
设置结果中使用的语言。
// Creates a Geocoder with the language set to French.
const geocoder = Maps.newGeocoder().setLanguage('fr');
参数
名称 | 类型 | 说明 |
language | String | BCP-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');
参数
名称 | 类型 | 说明 |
region | String | 要使用的地区代码 |
返回
Geocoder
- 用于简化调用链接的 Geocoder 对象
另请参阅
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eThe Geocoder class enables conversion between addresses and geographic coordinates (latitude and longitude).\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods for finding geographic points for an address (geocode) and vice-versa (reverseGeocode).\u003c/p\u003e\n"],["\u003cp\u003eYou can specify bounds for preferred results, language, and region for location interpretation.\u003c/p\u003e\n"],["\u003cp\u003eGeocoder uses a JSON object to represent the geocoding and reverse geocoding data.\u003c/p\u003e\n"],["\u003cp\u003eIt leverages the Google Geocoding API for its functionality and supports various region codes.\u003c/p\u003e\n"]]],[],null,["# Class Geocoder\n\nGeocoder\n\nAllows for the conversion between an address and geographical coordinates. \n\nThe example below shows how you can use this class find the top nine matches for the location\n\"Main St\" in Colorado, add them to a map, and then embed it in a new Google Doc.\n\n```javascript\n// Find the best matches for \"Main St\" in Colorado.\nconst response = Maps.newGeocoder()\n // The latitudes and longitudes of southwest and northeast\n // corners of Colorado, respectively.\n .setBounds(36.998166, -109.045486, 41.001666, -102.052002)\n .geocode('Main St');\n\n// Create a Google Doc and map.\nconst doc = DocumentApp.create('My Map');\nconst map = Maps.newStaticMap();\n\n// Add each result to the map and doc.\nfor (let i = 0; i \u003c response.results.length && i \u003c 9; i++) {\n const result = response.results[i];\n map.setMarkerStyle(null, null, i + 1);\n map.addMarker(result.geometry.location.lat, result.geometry.location.lng);\n doc.appendListItem(result.formatted_address);\n}\n\n// Add the finished map to the doc.\ndoc.appendImage(Utilities.newBlob(map.getMapImage(), 'image/png'));\n```\n\n#### See also\n\n- [Google Geocoding API](/maps/documentation/geocoding) \n\n### Methods\n\n| Method | Return type | Brief description |\n|--------------------------------------------------------------------------------------------------------|---------------|----------------------------------------------------------------------------------|\n| [geocode(address)](#geocode(String)) | `Object` | Gets the approximate geographic points for a given address. |\n| [reverseGeocode(latitude, longitude)](#reverseGeocode(Number,Number)) | `Object` | Gets the approximate addresses for a given geographic point. |\n| [setBounds(swLatitude, swLongitude, neLatitude, neLongitude)](#setBounds(Number,Number,Number,Number)) | [Geocoder](#) | Sets the bounds of an area that should be given extra preference in the results. |\n| [setLanguage(language)](#setLanguage(String)) | [Geocoder](#) | Sets the language to be used in the results. |\n| [setRegion(region)](#setRegion(String)) | [Geocoder](#) | Sets a region to use when interpreting location names. |\n\nDetailed documentation\n----------------------\n\n### `geocode(address)`\n\nGets the approximate geographic points for a given address.\n\n```javascript\n// Gets the geographic coordinates for Times Square.\nconst response = Maps.newGeocoder().geocode('Times Square, New York, NY');\nfor (let i = 0; i \u003c response.results.length; i++) {\n const result = response.results[i];\n Logger.log(\n '%s: %s, %s',\n result.formatted_address,\n result.geometry.location.lat,\n result.geometry.location.lng,\n );\n}\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|-----------|----------|-------------|\n| `address` | `String` | an address |\n\n#### Return\n\n\n`Object` --- a JSON Object containing the geocoding data, as described [here](/maps/documentation/geocoding#JSON)\n\n*** ** * ** ***\n\n### `reverse``Geocode(latitude, longitude)`\n\nGets the approximate addresses for a given geographic point.\n\n```javascript\n// Gets the address of a point in Times Square.\nconst response = Maps.newGeocoder().reverseGeocode(40.758577, -73.984464);\nfor (let i = 0; i \u003c response.results.length; i++) {\n const result = response.results[i];\n Logger.log(\n '%s: %s, %s',\n result.formatted_address,\n result.geometry.location.lat,\n result.geometry.location.lng,\n );\n}\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|-------------|----------|----------------------------|\n| `latitude` | `Number` | the latitude of the point |\n| `longitude` | `Number` | the longitude of the point |\n\n#### Return\n\n\n`Object` --- a JSON Object containing the reverse geocoding data, as described [here](/maps/documentation/geocoding#ReverseGeocoding)\n\n#### See also\n\n- [Google Geocoding API](/maps/documentation/geocoding#JSON)\n\n*** ** * ** ***\n\n### `set``Bounds(swLatitude, swLongitude, neLatitude, neLongitude)`\n\nSets the bounds of an area that should be given extra preference in the results.\n\n```javascript\n// Creates a Geocoder that prefers points in the area of Manhattan.\nconst geocoder = Maps.newGeocoder().setBounds(\n 40.699642,\n -74.021072,\n 40.877569,\n -73.908548,\n);\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|-----------------|----------|------------------------------------------------------|\n| `sw``Latitude` | `Number` | the latitude of the south west corner of the bounds |\n| `sw``Longitude` | `Number` | the longitude of the south west corner of the bounds |\n| `ne``Latitude` | `Number` | the latitude of the north east corner of the bounds |\n| `ne``Longitude` | `Number` | the longitude of the north east corner of the bounds |\n\n#### Return\n\n\n[Geocoder](#) --- the Geocoder object to facilitate chaining of calls\n\n#### See also\n\n- [Google Geocoding API](/maps/documentation/geocoding#Viewports)\n\n*** ** * ** ***\n\n### `set``Language(language)`\n\nSets the language to be used in the results.\n\n```javascript\n// Creates a Geocoder with the language set to French.\nconst geocoder = Maps.newGeocoder().setLanguage('fr');\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|------------|----------|------------------------------|\n| `language` | `String` | a BCP-47 language identifier |\n\n#### Return\n\n\n[Geocoder](#) --- the Geocoder object to facilitate chaining of calls.\n\n#### See also\n\n- [Encoded Polyline Format](/maps/documentation/utilities/polylinealgorithm)\n\n*** ** * ** ***\n\n### `set``Region(region)`\n\nSets a region to use when interpreting location names. The supported region codes correspond to\nthe ccTLDs supported by Google Maps. For example, the region code \"uk\" corresponds to\n\"maps.google.co.uk\".\n\n```javascript\n// Creates a Geocoder with the region set to France.\nconst geocoder = Maps.newGeocoder().setRegion('fr');\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|----------|------------------------|\n| `region` | `String` | the region code to use |\n\n#### Return\n\n\n[Geocoder](#) --- the Geocoder object to facilitate chaining of calls\n\n#### See also\n\n- [Google Geocoding API](/maps/documentation/geocoding#RegionCodes)"]]