我正在做什么以及我尝试过什么
我正在使用Google Geo编码网络服务获取我传递的地址的纬度和经度,如下所示:
$.getJSON("http://maps.googleapis.com/maps/api/geocode/json?address=Boston&sensors=true",function(data){
//Do my programming here
});
由于某些原因,最初工作得很好,但之后它停止了工作,我发现this是问题,即使用Google客户端API。
我还在that SO问题上阅读了答案,该问题表明<script>
标记有助于克服跨站点脚本问题。
我的问题:
我正在使用RequireJs,所以我包含这样的文件:
var Google = require("http://maps.google.com/maps/api/js?sensor=false");
那么,如何让我的Google API再次运行,以及如何使用requireJS
答案 0 :(得分:1)
requirejs将异步加载Maps-API,但您使用的URL不能用于异步加载(请参阅async loading javascript with document.write)。
该怎么做:将callback-parameter添加到网址,以便能够异步加载Maps-API,并在名称等于该名称的函数中执行与google-maps相关的代码提供的callback
- 参数的值。
function geocodeaddr(){
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': 'Boston' }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log(results[0].geometry.location);
}
else {
console.log("Geocoding failed: " + status);
}
});
}
require(["http://maps.google.com/maps/api/js?sensor=false&callback=geocodeaddr"]);