使用JavaScript进行谷歌地理编码
我根据谷歌文档编写了以下脚本: 但是,脚本不起作用。 我在上面的链接上运行了原始的google脚本,它可以正常工作。我不知道代码的哪一部分出错了 谢谢使用JavaScript进行谷歌地理编码,javascript,google-api,geocoding,Javascript,Google Api,Geocoding,我根据谷歌文档编写了以下脚本: 但是,脚本不起作用。 我在上面的链接上运行了原始的google脚本,它可以正常工作。我不知道代码的哪一部分出错了 谢谢 <!DOCTYPE html> <html> <body> <script> var geocode_file_path = "C:\\Hello.txt"; createFile(geocode_file_path); var geocoder; initial
<!DOCTYPE html>
<html>
<body>
<script>
var geocode_file_path = "C:\\Hello.txt";
createFile(geocode_file_path);
var geocoder;
initialize();
geocodeAddress(geocoder);
function initialize()
{
geocoder = new google.maps.Geocoder();
}
function geocodeAddress(geocoder) {
var addresses = ['121 Dartmouth Street, Boston, MA', 'Boston, USA'];
var arrayLength = addresses.length;
for (var i = 0; i < arrayLength; i++) {
var address = addresses[i];
geocoder.geocode({'address': address}, function (results, status)
{
alert('ok')
if (status === google.maps.GeocoderStatus.OK) {
var result = results[0].geometry.location;
var name = results[0].formatted_address;
alert(result)
writeFile(geocode_file_path, name + ': ' + result.toString());
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
}
function createFile(afile)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var outFile = fso.CreateTextFile(afile, true);
outFile.WriteLine('Geocoded Locations:');
outFile.Close();
}
function writeFile(afile, str)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var outFile = fso.OpenTextFile(afile, 8, true);
outFile.WriteLine(str);
outFile.Close();
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=Mykey">
</script>
</body>
</html>
var geocode_file_path=“C:\\Hello.txt”;
createFile(地理编码文件路径);
var地理编码器;
初始化();
地理编码地址;
函数初始化()
{
geocoder=新的google.maps.geocoder();
}
功能geocodeAddress(地理编码器){
var地址=['121达特茅斯街,波士顿,马萨诸塞州','波士顿,美国'];
var arrayLength=地址.length;
对于(变量i=0;i
您应该首先调用外部谷歌地图脚本
同时从script
标记中删除async
和defer
属性,因为API脚本是脚本的直接依赖项,您希望它按顺序执行
<!DOCTYPE html>
<html>
<body>
<script src="https://maps.googleapis.com/maps/api/js?key=Mykey"></script>
<script>
var geocode_file_path = "C:\\Hello.txt";
createFile(geocode_file_path);
var geocoder;
initialize();
geocodeAddress(geocoder);
function initialize()
{
geocoder = new google.maps.Geocoder();
}
function geocodeAddress(geocoder) {
var addresses = ['121 Dartmouth Street, Boston, MA', 'Boston, USA'];
var arrayLength = addresses.length;
for (var i = 0; i < arrayLength; i++) {
var address = addresses[i];
geocoder.geocode({'address': address}, function (results, status)
{
alert('ok')
if (status === google.maps.GeocoderStatus.OK) {
var result = results[0].geometry.location;
var name = results[0].formatted_address;
alert(result)
writeFile(geocode_file_path, name + ': ' + result.toString());
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
}
function createFile(afile)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var outFile = fso.CreateTextFile(afile, true);
outFile.WriteLine('Geocoded Locations:');
outFile.Close();
}
function writeFile(afile, str)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var outFile = fso.OpenTextFile(afile, 8, true);
outFile.WriteLine(str);
outFile.Close();
}
</script>
</body>
</html>
var geocode_file_path=“C:\\Hello.txt”;
createFile(地理编码文件路径);
var地理编码器;
初始化();
地理编码地址;
函数初始化()
{
geocoder=新的google.maps.geocoder();
}
功能geocodeAddress(地理编码器){
var地址=['121达特茅斯街,波士顿,马萨诸塞州','波士顿,美国'];
var arrayLength=地址.length;
对于(变量i=0;i
谢谢,Ryan!问题解决了。