支持在地址与地理坐标之间进行转换。
以下示例展示了如何使用此类查找相应地理位置的前 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); }
参数
名称 | 类型 | 说明 |
---|---|---|
address | String | 住址 |
返回
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); }
参数
名称 | 类型 | 说明 |
---|---|---|
latitude | Number | 该点的纬度 |
longitude | Number | 该点的经度 |
返回
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);
参数
名称 | 类型 | 说明 |
---|---|---|
swLatitude | Number | 边界西南角的纬度 |
swLongitude | Number | 边界西南角的经度 |
neLatitude | Number | 边界东北角的纬度 |
neLongitude | Number | 边界东北角的经度 |
返回
Geocoder
- 用于实现调用链的地理编码器对象
另请参阅
setLanguage(language)
setRegion(region)
设置解读位置名称时使用的区域。支持的地区代码对应于 Google 地图支持的 ccTLD。例如,地区代码“uk”对应的是 "maps.google.co.uk"。
// Creates a Geocoder with the region set to France. var geocoder = Maps.newGeocoder().setRegion('fr');
参数
名称 | 类型 | 说明 |
---|---|---|
region | String | 要使用的地区代码 |
返回
Geocoder
- 用于实现调用链的地理编码器对象