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 語言 ID |
回攻員
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 物件,可協助鏈結呼叫
另請參閱
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
[null,null,["上次更新時間: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)"]]