我尝试使用Javascript和Snowflake复制使用Lat和Long并返回邮政编码的函数。代码来自于SO问题here。(代码致谢@HBlackorby )
下面是函数:
CREATE OR REPLACE FUNCTION STAGING.SDS.GET_ZIP_CODE(latitude FLOAT, longitude FLOAT)
RETURNS STRING
LANGUAGE JAVASCRIPT
AS
$$
function getzip(lat, lng) {
var latlng = new google.maps.LatLng(lat, lng);
geocoder = new google.maps.Geocoder();
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
for (j = 0; j < results[0].address_components.length; j++) {
if (results[0].address_components[j].types[0] == 'postal_code')
alert("Zip Code: " + results[0].address_components[j].short_name);
}
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
$$输出:
SELECT STAGING.SDS.GET_ZIP_CODE('39.041519165', '-77.111801147');
JavaScript execution error: Uncaught ReferenceError: google is not defined in GET_ZIP_CODE at 'var latlng = new google.maps.LatLng(lat, lng);' position 13 stackstrace: getzip line: 3 GET_ZIP_CODE line: 18预期输出:
20852发布于 2019-10-09 14:20:27
您只能使用JavaScript standard library和Stored Procedure API中的对象。
你不能导入任何像google那样的外部库(截至2019年10月)。
https://stackoverflow.com/questions/56400023
复制相似问题