google map api GDirections 计算行程报api错误
我的代码:
directions = new GDirections(null,myJS.$('directionsDiv')) ;
GEvent.addListener(directions,'load',dd) ;
directions.load("从" + fromLatLng + "到" + toLatLng ,{"locale":"zh_CN","travelMode":G_TRAVEL_MODE_WALKING,"avoidHighways":true}) ;function dd(){
var distance = directions.getDistance()['meters'] ;
}出现api错误,报a is undefine错误那位高手能提示下是为什么?
我的代码:
directions = new GDirections(null,myJS.$('directionsDiv')) ;
GEvent.addListener(directions,'load',dd) ;
directions.load("从" + fromLatLng + "到" + toLatLng ,{"locale":"zh_CN","travelMode":G_TRAVEL_MODE_WALKING,"avoidHighways":true}) ;function dd(){
var distance = directions.getDistance()['meters'] ;
}出现api错误,报a is undefine错误那位高手能提示下是为什么?
解决方案 »
- 下面代码有几次不懂得地方,大家路过帮忙指教指教。
- html开源网游《神魔对决3-千年的未来》c:53,发布会
- 背景图片上定位光标位置并保存?
- 在jsp中或javascript中有没有一个方法把弹出的新窗口总显示在最上面?在线等!
- JQUERY绑定propertychange事件无效.
- 100 求一正则表达式
- 把textarea的内容写到数据库中再读出来时不能自动换行和不识别空格,该怎么样处理!
- 早上好!我想问一个关于窗口传值的问题!
- 如何使两个<div>层重叠时,如何使上面的层移到下面,另外div层如何实现隐藏。
- javascript如何把一个对象伪装成数组?
- 急:在URL的?后面添加一个字符串
- on click事件?
不过貌似google的一些api,如果是引用了外部的script文件,都会有一个callback事件,否则可能没有加载完,才会报错。
仔细看看api,是不是有一个callback或者onload之类的事件?
或者把api地址发一下,大家一起讨论讨论
这里是调用api的load
我也注册了load事件的callback函数,GEvent.addListener(directions,'load',dd) ;
google api说明
api地址:http://code.google.com/intl/zh-CN/apis/maps/documentation/reference.html
Google 地图 API 现在已与 Google AJAX API 完全集成。此框架使您可以为所有受支持的 Google AJAX API(包括 Google 地图)加载一个 API 密钥,还可以为每个 API 提供一个公共的命名空间,从而允许不同的 Google API 共同运行。请不必担心,如果决定不使用 Google AJAX API 框架,仍可继续使用现有命名空间。
使用 Google AJAX API 框架相对简单。将应用程序更改为使用该框架包括以下步骤:
从 http://www.google.cn/jsapi 加载通用加载程序,而不是从 http://ditu.google.cn/apis 加载 API。可以将现有 Google 地图 API 密钥传递到下面的网址:
<script type="text/javascript" src="http://www.google.cn/jsapi?key=ABCDEFG"></script>
使用 google.load 方法加载所需的特定 API。google.load 方法以要加载的特定 API 和版本号为参数:
<script type="text/javascript">
google.load("maps", "2", {"base_domain": "ditu.google.cn"});
</script>
对 Google 地图 API 中当前使用的所有类、方法和属性使用 google.maps.* 命名空间,以使用此命名空间替换 G 前缀。使用 google.setOnLoadCallback() 初始化您的对象。例如,使用 Google AJAX API 加载程序时,GMap2 对象将被映射到 google.maps.Map2:
<script type="text/javascript" src="http://www.google.cn/jsapi?key=ABCDEFG"></script>
<script type="text/javascript">
google.load("maps", "2.x", {base_domain: "ditu.google.cn", language: "zh-CN"});
// Call this function when the page has been loaded
function initialize() {
var map = new google.maps.Map2(document.getElementById("map"));
map.setCenter(new google.maps.LatLng(39.9493, 116.3975), 13);
}
google.setOnLoadCallback(initialize);
</script>看看上面对api的使用的说明里面,你用了吗?
google.setOnLoadCallback(initialize);这个必须有的,说明加载完成这个api外部js文件
在initialize这个函数里面初始化你的类。看看他们用的是new google.maps.Map2(document.getElementById("map"));
或者你的用法改成:directions = new google.maps.GDirections(null,myJS.$('directionsDiv')) ;
剩下的自己慢慢试试看?
祝你好运!
a is undefine
m.mC=function(a){if(a.__jstcache)return a.__jstcache;var b=a.getAttribute("jstcache");if(b)return a.__jstcache=el[b];return il(a)};