类型错误:a是空main.js
Type Error: a is null main.js
所以我正在使用谷歌地图api,它给了我这个错误
InvalidValueError: not an Object" main.js:26:873
Bf() main.js:26
Xca() main.js line 61 > eval line 39 > eval line 30 > eval:8
Wca() main.js line 61 > eval line 39 > eval line 30 > eval:5
a_[u].Bj/<() main.js line 61 > eval line 39 > eval line 30 > eval:11
kg() main.js:30
a_[u].Bj() main.js line 61 > eval line 39 > eval line 30 > eval:11
Bi[u].route/<() main.js:45
lg() main.js:30
<anonymous> main.js line 61 > eval line 39 > eval line 30 > eval:55
Nh.util() main.js line 61 > eval line 39 > eval:30
Oh/<() main.js:41
dg[u].Qd/</d[a]<() main.js:29
$f/<() main.js:29
dg[u].Qd/<() main.js:29
hg() main.js:30
dg[u].Qd() main.js:29
<anonymous> directions.js:1
TypeError: a is null
下面是我的代码:
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
var waypts=[];
var setpos = false;
var pos;
var start;
var posMarker;
var mapPage=0;
var request;
function initialize() {
console.log('started');
directionsDisplay = new google.maps.DirectionsRenderer();
var mapOptions = {
zoom: 6
};
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var infowindow = new google.maps.InfoWindow({
map: map,
position: pos,
content: 'Location found using HTML5.'
});
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
});
}
else {
// Browser doesn't support Geolocation
handleNoGeolocation(false);
}
map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
var selectedMode = document.getElementById('mode').value;
posMarker=null;
if (setpos===false){
start = document.getElementById('start').value;
}
var end = document.getElementById('end').value;
if(selectedMode!== 'TRANSIT'){
console.log('non-transit')
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.TravelMode[selectedMode]
};
}
else if(mapPage===waypts.length+1){
var request = {
origin: waypts[mapPage-1],
destination: end,
travelMode: google.maps.TravelMode[selectedMode]
};
}
else if(mapPage===1){
var request = {
origin: start,
destination: waypts[mapPage+1],
travelMode: google.maps.TravelMode[selectedMode]
};
}
else {
var request = {
origin: waypts[mapPage-1],
destination: waypts[mapPage+1],
travelMode: google.maps.TravelMode[selectedMode]
};
}
}
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
var route = response.routes[0];
var summaryPanel = document.getElementById('directions_panel');
summaryPanel.innerHTML = '';
// For each route, display summary information.
for (var i = 0; i < route.legs.length; i++) {
var routeSegment = i + 1;
summaryPanel.innerHTML += '<b>Route Segment: ' + routeSegment + '</b><br>';
summaryPanel.innerHTML += route.legs[i].start_address + ' to ';
summaryPanel.innerHTML += route.legs[i].end_address + '<br>';
summaryPanel.innerHTML += route.legs[i].distance.text + '<br><br>';
}
}
});
function changeText(elem,text){
var element=elem;
element = text;
}
function addWay(){
waypts.push({location:document.getElementById('waypoints').value,stopover:true});
alert("added: " + document.getElementById('waypoints').value);
for(var i = 0; i<waypts.length;i++){
console.log(waypts[i]);
}
console.log("worked THANK BEJEEBUS");
}
function setCurrentPos(){
setpos=!setpos;
if(setpos===true){
start = pos;
}
else changeText(document.getElementById('start').text,'Not your current position');
console.log(start);
console.log("pos set");
posMarker = new google.maps.Marker({
position: pos,
map: map,
title: 'Your Pos'
});
}
function nextPage(){
if(mapPage<=waypts.length+1)
mapPage++;
calcRoute();
}
function backPage(){
if(mapPage>1){
mapPage--;
calcRoute();
}
}
google.maps.event.addDomListener(window, 'load', initialize);
它之前没有这样做,但是当我在计算路线中添加了过境路径点的代码时,它就坏了。
将directionsService.route
的调用移到最后,但在calcRoute内部。
目前它在全局上下文中放置在calcRoute
之外,其中request
是未知的(我猜你错误地混淆了一些括号)
相关文章:
- 使用优化器在慢速连接上加载main.js时需要js超时
- Requirejs main.js could not be found
- 如何在 Firefox 插件 sdk 扩展中使用 main.js 的 XMLHttpRequest.(或类似的东西)
- error =“类型错误:对象 [对象对象] 在 main.js:33:12 没有方法'addUnique
- 如何调试附加组件main.js,而不仅仅是Firefox扩展的内容脚本
- Gulp with browserify:找不到模块 src/js/main.js
- 我收到一个未捕获的类型错误:无法读取 jquery.main.js 上 null 的属性“长度”
- 未捕获的SyntaxError:在main.js:4中出现意外的令牌ILLEGAL
- 如果我的Backbone main.js太大,我该怎么办
- 如何在main.js中使用"浏览器动作jplib”;
- 谷歌地图api v3-IE7-main.js错误-无效参数(javascript)
- mark.setDragable(false)在API谷歌地图的main.js中抛出异常
- 如何使用端口在main.js和面板之间传输消息'的内容脚本
- 是否可以从main.js访问视图中声明的js变量
- Firefox扩展在main.js文件中包含脚本
- 如何在Play Framework 2.1.1 Java中为RequireJs使用多个main.js文件
- 解析.如果在与main.js不同的文件中使用查询,则不起作用
- 在Liferay 6.0.6插件SDK生成的框架portlet项目中应该如何使用main.js和main.css ?
- 插件SDK.将main.js分成几个单元
- Mozilla FireFox插件->在main.js中包含外部库